Physical therapy for the way you live today
Steps is a web application built to enhance the physical therapy experience from all angles. For patients, it provides an informative and engaging portal to help you better understand how to perform your exercises and your recovery progress. On the therapist side, the platform eases the process of creating patients' plans and managing their recovery process.
Check out our walkthrough of the app for an overview of the end-to-end experience.
We also encourage you to expore our live demo with the following users:
Therapist
Username: [email protected]
Password: 1234
Patient
Username: [email protected]
Password: 1234
npm install
This will install all runtime dependencies, as well as Webpack build and Mocha/Chai/Enzyme testing tools.
Also, make sure to populate the proper environment variables for your local setup.
There are two ways to run the app in development mode:
npm run build-watch
npm run dev
The first command will run Webpack in watch mode, rebuilding the client static files in '/public' every time a change is made to the source files. The second command will run the Node.js server in development mode. This setup simulates a production environment without the performance enhacements.
npm run hmr
npm start
The command starts a little Node.js server that serves only the webpack bundle. This setup gives us two main advantages:
- Changes to React components cause automatic page refreshes
- Updates to static files like CSS are injected into the running app without requiring a full refresh
API requests from this app will proxy to port 8080
, so you will still need the Node server running.
Running the application in Prod is similar to running it locally:
npm install
npm run build
npm start
The build should be run at some point before the app is uploaded to the production server, otherwise the build files must be uploaded as well. Also, consider the production environment variables required here.
We are using the dotenv
package and .env
file to emulate environment variables in development mode. You should create a .env
file at the root of this project and it should have the following:
SESSION_SECRET=YOUR_SECRET
If you would like the application to send emails on your behalf, you will need to add your API key and sender email account as follows:
SENDGRID_API_KEY=YOUR_API_KEY
EMAIL=YOUR_SENDER_EMAIL_ACCOUNT
DATABASE_URL
environment variable must point to your PostgreSQL DBNODE_ENV
environment variable must equalproduction
PORT
environment variable must be set to the listening port of the Node app
To run the test suite, execute the command npm test
The easiest way to test is with Postman. You can use our development testing collection to help you get started!
We relied heavily on others' artwork and iconography to make this app look great. To give credit where credit is due, here are the artists:
- Emojis made by EmojiOne
- Material Icons made by Google
- Home Icon made by Aneeque Ahmed from Noun Project
- User Icon made by Jamison Wieser from Noun Project
- Messages Icon made by i cons from Noun Project
- Patients Icon made by Gan Khoon Lay from Noun Project
- Exercises Icon made by Hea Poh Lin from Noun Project
- Dashboard Icon made by Viktor Vorobyev from Noun Project
- Plan Icon made by unlimicon from Noun Project
- 404 Turtle made by Freepik from flaticon