Skip to content

Latest commit

 

History

History
248 lines (183 loc) · 9.32 KB

README.md

File metadata and controls

248 lines (183 loc) · 9.32 KB

Contributors Forks Stargazers Issues MIT License


Logo

FiTrack

FiTrack is 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 and use this data set to display intuitive visualisations of the users progress and allow them to recap previous workouts. The goal of this system is to keep users informed and motivated regarding their efforts at the gym.

Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Acknowledgments

About The Project

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.

(back to top)

Built With

  • Next
  • React
  • Express
  • SQLite
  • Vitest

(back to top)

Getting Started

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

Prerequisites

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

Installation

  1. Clone the repo
    git clone https://github.com/SE310-Team-1/SE310_Fitness_Tracker.git
  2. Navigate to the fitness_tracker folder and Install NPM packages
    cd ./fitness_tracker
    npm install
  3. Now, navigate to the server folder and Install NPM packages
    cd ../server
    npm install
  4. Now, in the server folder, open a new terminal and run the server
    npm start
  5. Finally, go back to the fitness_tracker folder, open a new terminal and run the project
    cd ../fitness_tracker
    npm start
  6. You can click the link on the terminal or can type http://localhost:3000/ in your own browser

.env File

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.

Local Database

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

(back to top)

Usage

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

(back to top)

Upcoming Features

  • 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).

(back to top)

Contributing

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!

  1. Fork and clone 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 and assign Assignees

(back to top)

License

Distributed under the Apache-2.0 license. See LICENSE.txt for more information.

(back to top)

Acknowledgments

(back to top)