https://www.youtube.com/watch?v=kXsI3x8_JAY
group.17.proj2.mp4
BurnOut is an easy to use application that keeps track of a user's daily calories gained and burnt. It can help the user to set goals such as weight loss/gain. Users can edit their profile by entering their height, weight, goal and target-weight. Users can enroll into numerous programs involving fitness such as yoga classes and workout sessions. Users can now connect with their friends by sending a friend-request and share their progress. This document provides a major perspective for the users to understand and take up the project as an Open source software and add on multiple features before releasing to the market. Also, the document aids the developers in understanding the code and acts as a reference point for continuing the project.
- Why use BurnOut?
- Implementation
- TechStack Used for the Development of Project:
- Help by using our Software:
- Core Functionalities of the Application:
- Steps for Execution:
- Source Code
- Future Scope
- Team Members
- Contribution
- License
- User can keep a track of their calorie intake.
- User just needs to input the food they've had, 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 numerous yoga and workout sessions.
- Accessible to everyone and easy to use.
- 2 Factor Authorization: Implemented 2FA to verify new users when they register into the system.
- Graphical Visualizations: Added various graphs such as bar, pie, line, radar, doughnut and bubble charts.
- OpenAI: Implemented integration with openAI
- Flash pending requests: Users if they have any pending requests are displayed at the top of the UI
- Brone list Feature: The UI has a new tab where any users if they burn more than 100 calories are displayed
- Kubernetes: Deployment for kubernetes service has been configrued
- Dockerization: The application has been dockerized.
- Test cases: We have increased the code coverage from 38% to 75% and fixed all failing test cases.
- CI/CD - There is a new pipeline which now checks for code coverage and fails if it is under 60%
- Email notifications - For every entry/burn out the user does they receive an email
- UI - UI is more responsive and has validators for forms such as correct email, password requirements,etc.
- Google Captcha - The sign up form now tests for users using v2 captcha
- Autopopulate user Profile data!
- With the help of our application, users will get to know the proper analysis of their diet and workout plan.
- The registration form contains the target weight and target date. By filling that, the user will get an analysis in the form of a bar graph based on their past meal intake and burnout. In addition, it also shows how many more calories does the user has to intake or burn.
Step 1: Install MongoDB using the following link:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows
Step 2: Git Clone the Repository
git clone https://github.com/deekay2310/calorieApp_server.git
(OR) Download the .zip file on your local machine
https://github.com/deekay2310/calorieApp_server.git
Step 3: Install the required packages by running the following command in the terminal
pip install -r requirements.txt
pip install openai==0.28.0
Step 4: Go to https://platform.openai.com/ and create an API key for openai and paste it in application.py(in -> openai.api_key = '').
Step 5: If it's for the first time you're running the application you need to run this script once to populate data for food select field
`python insert_food_data.py`
(Just once)
Run the following command in the terminal
`python application.py`
Step 6:
Open the URL in your browser:
http://127.0.0.1:5000/
OR if you prefer to run it on docker, follow till step 2 and then do
Step 3: Run
docker compose up -d
(with and optional --build option at the end if you have already done the build and to build again)
No need to manually populate the data as in the steps above. The docker config takes care of that :)
Step 4: Open the URL in your browser:
http://127.0.0.1:5000/ or http://localhost:5000/
-
Navigate to the project directory.
-
Apply Kubernetes deployment and service YAML files:
kubectl apply -f app-deployment.yaml kubectl apply -f app-service.yaml
- Access Your Application
Retrieve the external IP (LoadBalancer) or Cluster IP of the service:
kubectl get service flask-mongo-service
Link to the repository: https://github.com/deekay2310/calorieApp_server
- Make the website view port adaptable - the website should look good on phone, tablet and computer.
- Chatbot to guide through the application.
- Share workout plans with friends via email.
- Bug Fixes
Anuj Naresh Chetwani |
Bhavesh Ittadwar |
Jash Shah |
Vaibhavi Sangawar |
|
Utsavkumar Lal |
Neha Patil |
Ojas Kulkarni |
Vighnesh Hegde |
|
Dev Kumar |
Prakruthi Somashekar |
Radhika Raman |
Rohan Sinha |
Sunidhi Hegde |
Please refer the CONTRIBUTING.md file for instructions on how to contribute to our repository.
This project is licensed under the MIT License.