Meal planner is used to add recipes including macronutrient data into a weekly meal plan to simplify calorie/macro tracking. Users are able to log in to see their current plan and make changes.
Click here to see the Trello board for this project!
Home Page (Not logged in)
Home Page (Logged in)
Edit Meal Plan
Add New Meal
- Python3.8
- Mypy
- Flake8
- Psycopg2
- Flask
- SQLAlchemy
- Marshmallow
-
Clone the GitHub repository into a folder in your development environment and enter the project directory.
-
Create a new virtual environment using the following command, note that mealplanner requires Python 3.8
python3.8 -m venv venv
If you do not have the venv module installed, run
pip install venv
- this command can change depending on what versions of pip you have installed on your system. -
Activate your virtual environment using the following command:
source venv/bin/activate
-
Install the dependencies using the following command:
pip install -r requirements.txt
-
Now you're good to go! Open the app by running
python src/main.py
.
A Github Actions workflow is currently set up to run mypy, flake8 and the tests automatically when commits are pushed to Github.
The workflow will run two jobs concurrently. Both will set up an Ubuntu environment, install Python3.8, clone the repository and create a virtual environment. From there, one job runs flake8 and mypy tests, with the other running the unittest tests. If all of the tests pass the workflow completes successfully.
This is the current planned database schema for this project. It is normalised and is based around users having the ability to add meals to their meal plan.
This currently needs to be expanded to have different meals for each day of the week.