/food-tracker

A food tracking application built using Django 3, HTML 5, CSS 3, and Bootstrap 5 that uses a PostgreSQL database to store data. Charts are built using Chart.js 2.

Primary LanguageHTMLMIT LicenseMIT

Food Tracker

This is a food tracking application built using Django 3, HTML 5, CSS 3, and Bootstrap 5 that uses a PostgreSQL database to store data. Charts are built using Chart.js 2.

plot

plot

Table of Contents

Prerequisites

Install the following prerequisites:

  1. Python
  2. PostgreSQL
  3. Visual Studio Code

Installation

1. Create a virtual environment

From the root directory run:

python -m venv venv

2. Activate the virtual environment

From the root directory run:

On macOS:

source venv/bin/activate

On Windows:

venv\scripts\activate

3. Install required dependencies

From the root directory run:

pip install -r requirements.txt

4. Set up a PostgreSQL database

With PostgreSQL up and running, in a new Terminal window run:

dropdb --if-exists food

Start psql, which is a terminal-based front-end to PostgreSQL, by running the command:

psql postgres

Create a new PostgreSQL database:

CREATE DATABASE food;

Create a new database admin user:

CREATE USER yourusername WITH SUPERUSER PASSWORD 'yourpassword';

To quit psql, run:

\q

5. Set up environment variables

From the root directory run:

touch .env

The touch command will create the .env file in the root directory. This command works on Mac and Linux but not on Windows. If you are a Windows user, instead of using the command line, you can create the .env file manually by navigating in Visual Studio Code to the Explorer, and selecting the option New File.

Next, declare environment variables in the .env file. Make sure you don't use quotation marks around the strings.

SECRET_KEY=yoursecretkey
DEBUG=True
DATABASE_NAME=food
DATABASE_USER=yourusername
DATABASE_PASS=yourpassword
DATABASE_HOST=localhost

6. Run migrations

From the root directory run:

python manage.py makemigrations
python manage.py migrate

7. Create an admin user to access the Django Admin interface

From the root directory run:

python manage.py createsuperuser

When prompted, enter a username, email, and password.

Run the application

From the root directory run:

python manage.py runserver

View the application

Go to http://127.0.0.1:8000/ to view the application.

Add data to the application

Add data through Django Admin.

Go to http://127.0.0.1:8000/admin to access the Django Admin interface and sign in using the admin credentials.

Copyright and License

Copyright © 2022 Bob's Programming Academy. Code released under the MIT license.