Code Monkey home page Code Monkey logo

steps's Introduction

Steps

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.

Steps Demo Walkthrough | YouTube

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

Steps App

Table of Contents

Running Locally

Prerequisites

Installing dependencies

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.

Running the app

There are two ways to run the app in development mode:

Dev Server

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.

Webpack HMR Server

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 in Prod

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.

Environment variables

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

Sending Emails

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

Production Variables

  1. DATABASE_URL environment variable must point to your PostgreSQL DB
  2. NODE_ENV environment variable must equal production
  3. PORT environment variable must be set to the listening port of the Node app

Testing

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!

Run in Postman

Credit

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:

steps's People

Contributors

mkewls avatar ohylime avatar jakepeyser avatar hitenp1 avatar emilydev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.