# LUCHA Client Management System
LUCHA is an organization based in Humboldt Park that looks to forward housing as a human right and to help its client base in three ways - to stabilize their housing situation, buy a home, or save their home.
Here is LUCHA’s Mission:
>LUCHA (the Spanish word for “struggle”) advances housing as a human right by empowering communities- particularly the Latino and Spanish-speaking populations- through advocacy, education, affordable housing development and comprehensive housing services.
## The project
As it currently stands, clients that want to submit any kind of applications for homebuying/foreclosure counseling or rentals have to submit a paper application. Once that paper application is submitted, the client would either have to call, visit, or email the person they think would work with them.
A client management system would allow clients to submit applications, but also have a through line to speak with the counselors that they are assigned to. Once a client submits an application, employees assign themselves to that client’s case and can send them updates that show up on the client’s status page.
The client’s status page will allow them to review and edit their information and application, as well as send messages and questions to the counselors working on their case. Almost like a live-chat helper.
The employees will be able to make timestamped notes on a client’s case and send scheduling information to the client.
LUCHA also has to report their data to various grant agencies in Excel formats, so any CMS they utilize would be best to have the capacity to export information in their database to a CVS file.
## Associations
![Associations](/images/schema.png)
##Models currently created
There are two Devise models - client and user (user is also interchangable with employee throughout this document).
The client has a one to one relationship with the following models - Foreclosures, Homebuyings, Law Projects, Senior Repairs, Rentals and Budgets. These models are the specific applications to those programs.
The client will only be able to create one application for a any given program area, but they can apply for any programs (ie. a client can have a foreclosure and rental application in at the same time). The Budget model is there as a tool for the client, though it is required for a foreclosure application to be considered complete.
The User (employee) has a polymorphic relationship with the foreclosure, homebuying, law project and senior repairs models.
## Clients
The client model currently needs to have a few of it’s validations reactivated (they were turned off for the purposes of the capstone). Some of the testing for the client model has to be updated as well.
When a client model is created, a budget model is also created.
## Models in the middle
Foreclosures, Homebuyings, Law Projects, and Senior Repairs.
These models serve much of the same function but have different attributes.
## HEY HEY HEY!!!! It’s zoe, aka the ghost of lucha’s past, aka scrum master flex, aka boss lady of this damned group. You may or may not know me but I am LONG GONE BY NOW but I wanted you lil chicklings to know something TRES IMPORTANTE. Listen to JOSH cause he’s da BOSH. Honsetly I was going to write something about the app but I got too lazy to explain it all and you’ll probably figure it out on your own (josh plz don’t delete this).