CSE 5914 Fitness App
Our team is committed to creating an app that saves you from guessing your workouts. By using Elasticsearch to query a plethora of sources for exercises sorted by muscle group and individual muscle, we can create a streamlined training experience that will increase efficient progress in our users.
Running the project after small local changes
- After small changes to a specific container (frontend, backend, etc.) just run docker compose up --build -d , where is the container that you want to rebuild
- This drastically reduces downtime and doesnt cause your entire project to rebuild itself.
Running the full project after pulling new changes
- Firstly, run "docker compose build" in the root directory
- Next, run "docker compose up" to start the server, or "docker compose up -d" to run the server in detached mode which allows you to run other commands after the server is started
Common Issues in Running:
- When pulling changes from git, if there were any changes for dockerfiles then you will need to run "docker compose down" before repeating steps 1 and 2
- If that doesn't fix your issue, run "git clean -fdx" and then rerun 1 and 2 BE SURE THAT YOU STASH ANY CHANGES BEFORE DOING SO
- Last resort that should fix other docker related errors, run "docker compose down -v" instead, but only do this as a last resort as it clears your local docker volumes
- If you run into an error regarding the "elastic" network already existing, that's because one was created when you were individually testing elasticsearch. To fix this,
just run "docker network remove elastic". You can see if the command worked by running "docker network list"
and make sure you don't see an elastic network, at this point you can go through the other docker commands to bring the containers up.
Proposed Features
- Search for exercise by muscle group / muscle
- Search for exercise by day (Push / Pull / Legs)
- Inclusion of videos from source to demonstrate movements
Identifying the Problem
The best way to produce viable output through our code is to first understand our problem space. We've decided to start with some basic questions in an attempt to break down our problem.
Who is our user base?
What constitues an effective work out?
What sources will we pull from using Elasticsearch?
Tech Stack:
- React
- Flask
- Elastic Search
- Python
- JavaScript
- Docker
- Git (?)