FitFoodFeed is a Django-based web application (Django e-commerce website project) focused on fit food products, promoting a healthy and active lifestyle.
- 📝 a blog designed for food reviews
- 🛒 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.
The code has been written according to TDD principles since commit 5acc9d4 from 19-07-23 until commit 2d9586a from 20-11-23
- 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.
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.
Note: Depending on your operating system, you may need to use python3
instead of python
- mainly on MacOS and Linux.
- Clone the Repository and navigate to the project directory
git clone https://github.com/olczi095/fitfoodfeed.git
cd fitfoodfeed
- 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
- Install Dependencies:
pip install -r requirements.txt
Optionally, install additional developer dependencies:
pip install -r requirements-dev.txt
- 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.
- Apply Migrations for initialize database:
python manage.py migrate
- Create a Superuser for admin panel access:
python manage.py createsuperuser
- Run Development Server:
python manage.py runserver
The website will be available in browsers at:
http://localhost:8000/
Click on tags to navigate, view related posts, and participate in the comment section.
Smart multilevel Commenting System (non-superuser comments require approval).
Featuring additional functionalities like edit and delete buttons for reviews.
One of the available review forms for authors
Default admin panel page for the Post model with associated, clickable and linked Author, Category and Tags models
✌️ If you have any ideas for improving or modifying my project, feel free to contact me.
The icons used in this project were created by mim_studio from Flaticon, and are available under the CC BY 3.0 license.