Skip to content

FitFoodFeed is a blog and e-commerce website (project) focused on promoting healthy food choices. Built with Django.

Notifications You must be signed in to change notification settings

olczi095/fitfoodfeed

Repository files navigation

FitFoodFeed

Python Django HTML5 CSS3 JavaScript SQLite Bootstrap

FitFoodFeed is a Django-based web application (Django e-commerce website project) focused on fit food products, promoting a healthy and active lifestyle.

Current Segments:

  • 📝 a blog designed for food reviews

Upcoming Segments:

  • 🛒 e-commerce platform
  • 👩‍💻 mini social networking site

The implementation incorporates type hints and unit tests written with unittest, but the tests will be modified with Faker and Factory Boy.


Project History

The code has been written according to TDD principles since commit 5acc9d4 from 19-07-23 until commit 2d9586a from 20-11-23

Features


  • User Accounts - registration and authentication, login/logout.
  • Enhanced User Profile - fields include an avatar (code has validators for it).
  • Blog Reviews Management - forms for creating, updating and deleting blog reviews, available only for the author of the particular review or admins.
  • Review Models - each review can be associated with categories and tags, used in navbars and some other website sections.
  • Like Button for Reviews - created with AJAX, fully accessible for authenticated users, read-only for unauthenticated users.
  • Comments Section - default name for guests, automatically connected with authenticated users for a more convenient and nicer usage.
  • Responsive Styles for Screens - different styles for various screen sizes.

Requirements

This project is developed with Python 3.11.4.

While it may work with lower Python versions, it's recommended to use Python 3.11.4 for optimal compatibility. Using versions below Python 3.6 is not guaranteed to work properly.

Installation

Note: Depending on your operating system, you may need to use python3 instead of python - mainly on MacOS and Linux.

  1. Clone the Repository and navigate to the project directory
git clone https://github.com/olczi095/fitfoodfeed.git
cd fitfoodfeed

  1. Create and activate Virtual Environment(optional):
python -m venv venv  # or your own venv name

# On MacOS and Linux
source venv/bin/activate

# On Windows
venv\Scripts\activate

  1. Install Dependencies:
pip install -r requirements.txt

Optionally, install additional developer dependencies:

pip install -r requirements-dev.txt

  1. Configure Environment Variables:

Create an ".env" file with your unique secret key and set DEBUG to "True" or "False":

SECRET_KEY=your_unique_secret_key_here
# Generate your unique secret key, for instance using get_random_secret_key() from django.core.management.utils

DEBUG=true_or_false
# Set to "True" for development mode with detailed errors pages.

  1. Apply Migrations for initialize database:
python manage.py migrate

  1. Create a Superuser for admin panel access:
python manage.py createsuperuser

  1. Run Development Server:
python manage.py runserver

The website will be available in browsers at:

http://localhost:8000/

Screenshots

HOMEPAGE

homepage homepage2

HOMEPAGE IN DARK MODE

homepage-darkmode homepage2-darkmode

PAGE WITH CUSTOM REVIEW

Click on tags to navigate, view related posts, and participate in the comment section.

review-detail

Smart multilevel Commenting System (non-superuser comments require approval).

comment-section

MAIN PAGE FOR AUTHORS

Featuring additional functionalities like edit and delete buttons for reviews.

homepage-for-authors

UPDATE REVIEW FORM

One of the available review forms for authors

review-edit-form

REGISTRATION FORM

registration-form

ADMIN PANEL (POST)

Default admin panel page for the Post model with associated, clickable and linked Author, Category and Tags models

adminpanel

Authors

✌️ If you have any ideas for improving or modifying my project, feel free to contact me.

Icon Attribution

The icons used in this project were created by mim_studio from Flaticon, and are available under the CC BY 3.0 license.

About

FitFoodFeed is a blog and e-commerce website (project) focused on promoting healthy food choices. Built with Django.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published