Skip to content

FulcrumPhysio is a one of a kind physical therapy orthopedic symptom checker. This application allows therapists or patients to create and edit their own exercise programs or let the application create one based on patient responses.

husseineid-mocha/FulcrumPhysio

Repository files navigation


Logo

Fulcrum Physio

Fulcrum Physio is an orthopedic physical therapy symptom checker. Create your own program or have us create one for you by tapping into the experience of several Doctors of Physical Therapy. We'll ask you the same questions we ask our patients to guarantee we have an accurate diagnosis and helpful advice and exercises based on your pathology.
Explore the docs »

View Site · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

Click here to view FulcrumPhysio live on the web!

homepage-screenshot

Overall Structure

Back End

The app was built using Flask, SQLAlchemy, and Python on the back end with a PostgreSQL database. The backend structure is RESTful API. Model associations are used to minimize database queries to the backend, assuring speed and reliability.

Front End

The front end is built with React and Javascript while utilizing Redux architecture, producing a lightning-fast user interface and calling upon dynamically rendered components.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Here is everything we need you to do to get started with Fulcrum Physio.

Installation

  1. Clone this repository (only this branch)

    git clone https://github.com/husseineid-mocha/FulcrumPhysio.git
  2. Install dependencies

    pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  3. Create a .env file based on the example with proper settings for your development environment

  4. Setup your PostgreSQL user, password and database and make sure it matches your .env file

  5. Get into your pipenv, migrate your database, seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  6. To run the React App in development, checkout the README inside the react-app directory.

Usage

An easy-to-use login with a pre-configured Demo User.

Login

Hover over injured body part to answer questions and receive personalized program

Create Own Plan

Create your own plan and add / edit / delete exercises

Exercises

Challenges

Intricate graphs were created for each body part in order to navigate the user responses and to reach an appropriate diagnosis/education/exercises, below are segments from the graphs for the shoulder and hip.

Shoulder

Hip

Several design decisions needed to be made to ensure speed and efficiency, making individual backend calls for each question/response/diagnosis proved to be more efficient than loading the entire graph into redux by about 16%.

These thunks manage these individual backend calls. Thunks

The frontend uses the seeded promptIds to fetch the next questions, these Ids are stored in an array and popped off to allow the user to go back in case they need to revisit a question. Frontend

Roadmap

See the Project Wiki for more details about FulcrumPhysio.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Project Link: https://github.com/husseineid-mocha/FulcrumPhysio/

About

FulcrumPhysio is a one of a kind physical therapy orthopedic symptom checker. This application allows therapists or patients to create and edit their own exercise programs or let the application create one based on patient responses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages