Skip to content

1360119047/calorieApp_server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

555 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GitHub license DOI made-with-python PEP8 codecov

github workflow github workflow github workflow github workflow github workflow

calorieApp_server forks calorieApp_server stars calorieApp_server issues calorieApp_server issues closed cheapBuy pull-requests

BurnOut: Fuel Your Fitness Journey

BurnOut is your ultimate fitness companion, designed to make tracking your daily calorie intake and workouts a breeze. Whether you're aiming to shed some pounds or bulk up, BurnOut has got you covered. Here's what you can expect:

  • Personalized Profiles: Create your unique profile by entering your height, weight, fitness goals, and target weight. BurnOut tailors your fitness journey just for you.

  • Calorie Tracking: Calorie mindfulness is the best way to achieve your goals. BurnOut provides a comprehensive calorie logbook as the best tool for a healthier lifestyle.

  • Goal Setting: Set your health and wellness goals with ease. Whether it's weight loss or muscle gain, BurnOut provides the roadmap to get you there.

  • Connect with Friends: Stay accountable by connecting with friends, sending friend requests, and sharing your fitness progress. Together, you can achieve your goals.

and more:

  • User can keep a track of their calorie intake and output.
  • User just needs to input the food they've eaten or an activity they've done,and calories get calculated automatically.
  • Displays a record of calories in and calories burnt out day wise in History tab.
  • Helps user to figure out how much to eat/exercise according to their desired goal(weight loss/gain).
  • Users can connect with their friends and keep track of each other's progress
  • Enrollment into a variety of workout programs.
  • Accessible to everyone and easy to use.

Table of Contents

Demo Video

Demo video showcasing the most recent updates and features of Burnout

Tech Stack

python Python
mongo MongoDB
html CSS3
css HTML 5

Environment Setup

Prerequisites:

  • Python 3.10

Step 1: Install the MongoDB Community Edition:

The Community Edition lets you run MongoDB locally on your computer. If you want to work with MongoDB on the cloud, use MongoDB's Atlas managed database service.
Optionally, install MongoDB Compass as a GUI for MongoDB databases, using connection string mongodb://localhost:27017 for local development.

Then, make sure that MongoDB is running: brew services start mongodb on macOS and mongod on Windows

Step 2: Clone the repository: git clone https://github.com/1360119047/calorieApp_server.git

Step 3:

Note

It is best practice to use a virtual environment. We have been using venv, which comes bundled with Python. To activate the venv virtual environment, navigate to the root of the project directory and run: source ./venv/Scripts/activate on macOS. To deactivate, run deactivate.

Alternatively, use pipenv virtual environment: pipenv shell

Install the required packages by running the following command in the terminal: pip install -r requirements.txt. There is a separate requirements-dev.txt for installing dev dependencies: pip install -r requirements-dev.txt.

Step 4: Run the following command in the terminal: python src/application.py

Step 5: Open the URL in your browser: http://127.0.0.1:5000/

Step 6: Run python src/insert_data.py to create a food collection and exercise collection in the test database. This food data is used for the Calories form.

Alternatively, deploy using Docker Compose:

Prerequisites:

Step 1: Clone the repository: git clone https://github.com/1360119047/calorieApp_server.git

Step 2: Run with Docker: docker compose up --build

Step 3: Open the URL in your browser: http://127.0.0.1:5000/

Testing

We primarily test the application.py module, the Flask API interface for which the client side interacts. If HTTP requests to application.py endpoints return expected values, then we can reasonably assume that other backend code that is customer-facing is working. That is what we most care about.

Unit tests are located in tests/test_application.py. To run tests and generate a code coverage report:

pytest --cov=application --cov-report=html

Note that coverage HTML is written to directory htmlcov in the same location the command is run. Navigate to htmlcov and open index.html in a browser.

Code Coverage Report

Core Functionalities

Register

Login

Set User Profile

Enter Calories burnt and consumed

Check History

Daily Goal

Adding Friends

Enrolling into several programs

Roadmap and Future Ideas

  1. Remake frontend with a standard javascript framework for a sleeker, more modern look.
  2. Improve user profile with more information and customizable options. Make profiles viewable to friends and other users.
  3. Provide user stats and trends for diet and activity.
  4. Improve the food and activity selection forms with a more efficient search tool for a better experience.
  5. Make goals more customizable. Add profile badges and other rewards for hitting goals.
  6. Add functionality to workout enrollment feature. Incorporate workout planner and other progress metrics.
  7. Implement a recommendation system for foods, activities, calorie goals, etc.

Team Members


Logan Williams

MichaelDacanay


Xiaochun Liang

How to Contribute

Please refer to docs/CONTRIBUTING.md for instructions on how to contribute to BurnOut.

Report Bug / Request Feature

License

This project is licensed under the MIT License.

Other important links:

About

Source code for 'BurnOut' project by Group 6 as part of CSC510

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 51.8%
  • HTML 42.7%
  • JavaScript 2.6%
  • CSS 1.9%
  • Other 1.0%