Explore the docs »
Report Bug · Request Feature
Table of Contents
We plan to create a web-app that allows users to add custom exercises and then track their gym progress over time. The app will store the users workout data locally, display clear visualisations of the users progress, and also allow them to recap previous workouts. The goal of this system is to keep users informed and motivated regarding their efforts at the gym.
To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
- Clone the repo
git clone https://github.com/SE310-Team-1/SE310_Fitness_Tracker.git
- Navigate to the fitness_tracker folder and Install NPM packages
cd ./fitness_tracker npm install
- Now, navigate to the server folder and Install NPM packages
cd ../server npm install
- Now, in the server folder, open a new terminal and run the server
npm start
- Finally, go back to the fitness_tracker folder, open a new terminal and run the project
cd ../fitness_tracker npm start
- You can click the link on the terminal or can type http://localhost:3000/ in your own browser
In order for the authentication to work, a .env file containing a SESSION_SECRET field must be placed in the server folder. Please contact us ([email protected]) in order to get this .env file.
The project currently uses a local database to store data. While the database should automatically be created upon running the code, sometimes a bug can occur where this does not happen.
To fix this, please create a db
folder in the server folder. Then add a file called database.sqlite
in it. This file will act as the database, so if you make any changes to the structure of the database, make sure to delete the file and create a fresh one to reset everything.
In short, if you are running into issues, create the file:
server/db/database.sqlite
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
demo relevant screenshots might go here
- Track and display workout metrics
- Graph progress over time
- Calendar overview of days worked out
- Weight/sets/reps
- Create profile (name, profile image)
- Specify custom workouts
- Achievements
- Generate routine
- Workout Wrapped (like Spotify Wrapped)
- CLoud storage
- Export Image
- Streaks
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork and clone the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request and assign Assignees
Distributed under the Apache-2.0 license. See LICENSE.txt
for more information.