1. Objective
2. Contents
3. Tools
4. Setup
5. Codebase
This project main goal is to create a Django-based web application that enables users to share, discover, and manage food recipes in a user-friendly environment.
This web application is a recipe sharing platform that allows users to discover, create, and manage food recipes. The main features include:
-
Recipe Discovery
- Browse a list of the latest recipes
- View detailed recipe information including ingredients and preparation steps
- See recipe duration and author information
-
Recipe Management
- Create new recipes with title, duration, and detailed description
- Add multiple ingredients with their quantities
- Update existing recipes
- Delete recipes (only for recipe authors)
-
User Features
- User authentication system
- Personal recipe management
- Ability to edit and delete own recipes
- View recipes created by other users
-
Modern UI/UX
- Responsive design that works on all devices
- Clean and intuitive interface
- Easy navigation between recipes
- Dynamic ingredient management when creating recipes
-
Python: High-level multipurpouse programming language.
-
Django: Full-featured web framework that uses MTV architecture.
-
PostgreSQL: Powerful open-source relational database system for reliable data management and performance.
-
Docker: Tool that helps developers build, share, run, and verify applications using containerization.
-
GitHub: Version control platform for project management.
-
Install Docker: To install docker, follow this guide from the official website: docker.com/get-started
-
Install Git: To install git, use the official website download page: git-scm.com/downloads
-
Clone repository: Clone this repository using the following command:
git clone https://github.com/Ruben-2828/recipes-sharing.git -
Set .env file: Using the file
.env.example, create an actual.envfile and set proper values for the environment variables. -
Run project: Open a terminal and navigate to the project folder. Once here, simply run the following command:
docker compose up -dMake sure docker is running before executing the command above.
-
Enter the website: Oper your favourite browser and type:
127.0.0.1:8000
recipes_app/: Main application for recipes managementusers_app/: User management application.templates/: Directory containing base HTML templates.static/: Directory for base static files (CSS, JavaScript, images).recipes_project/: Django project configuration directory.Dockerfile: Configuration file for Docker container..dockerignore: Specifies files to ignore in Docker builds.requirements.txt: Python package dependencies.docker-compose.yaml: Docker services configuration.manage.py: Django's command-line utility..gitignore: Specifies files to ignore in Git..env.example: Example of an environment variables file