Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fatimasajadi/enable
A scheduling and timekeeping app that creates meaningful matches between people with disabilities and support workers
https://github.com/fatimasajadi/enable
Last synced: 26 days ago
JSON representation
A scheduling and timekeeping app that creates meaningful matches between people with disabilities and support workers
- Host: GitHub
- URL: https://github.com/fatimasajadi/enable
- Owner: fatimasajadi
- Created: 2020-07-21T19:23:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T12:11:01.000Z (about 2 years ago)
- Last Synced: 2024-10-27T19:27:09.392Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 23.8 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**[You can check out the project here]()**
# Final Project Boilerplate
The project has 2 main folders:
- client (React Front-End)
- backend (Express Back-End)Run npm install in both folders to install the dependencies.
To start both servers:
`npm start` in the client folder
`npm run dev` in the backend folder## Final Product
Person with disability dashboard (Family dashboard)
!["Person with disability dashboard (Family dashboard)"](family.gif)
Support worker dashboard
!["Support worker dashboard"](worker.gif)
Admin dashboard
!["Admin dashboard"](admin.gif)
## Project Stack
- React, React Router, Reactstrap
- Node.js, PostgreSQL
- CSS (grid, animation, variables, etc.)## Project Features
- Enable has 3 different dashboards, Family, worker, and Admin.
- Based on the type of user, user will be shown a specific dashboard.
- Family users have the ability to create an assiatnce request (Providing assistance description, hourly rate, type of pay, and the ability to choose the support worker of their choice).
- On the other hand on the support worker dashboard, workers can receive the request and have the ability to either accept or reject the request. The family will be notified either way.
- After a session has been done, worker is able to upload any bill images for reimbursement, also worker is able to clock in and clock out the session afterwards.
- Family is able to write a review and provide ratings after each session
- On admin dashboard, admin is able to select a time frame and choose a family name, to access the automatically generated invoice, which includes the bill image as well.
- The invoice is downloadable so, admin can easily download the PDF and sends it to the family to make the payment.## Available Scripts
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
## Back-End Setup
- create a postgres database. At the terminal, type the following:
`createdb database_name -O username`
replace database_name with your database name and username with your own user.
- create a `.env` file with your database settings. Look at .env.example for usage.
- Modify the sql scripts under `db/schema/` to create the tables and seed the data.
- run `npm run reset` that will run the reset scripts in package.json to reset the database. Modify the reset script in package.json accordingly:
```json
"scripts": {
"start": "node ./bin/www",
"dev": "nodemon ./bin/www",
"reset": "psql -U labber -d final_project < ./db/schema/create.sql && psql -U labber -d final_project < ./db/schema/seed.sql"
},
```- replace `labber` with your own username and `final_project` with your database name
- currently, the users route is setup with a get and a post as examples. Modify it according to your needs and/or create additional route files.
## Client Setup
- A custom hook in `hooks/useApplicationData.js` contains the state.
- a `useEffect` with an axios request is adding the users in the state. Modify the initial state and the useEffect according to your needs.