# Recipe Management System π³
A comprehensive Django-based web application for managing recipes with full user authentication and CRUD operations.
- User Registration: Create new accounts with username, first name, last name, and password
- User Login: Secure authentication with username and password
- User Logout: Safe session termination
- Login Protection: Protected routes requiring authentication for recipe management
- Create Recipes: Add new recipes with name, description, and image upload
- Read Recipes: Browse all recipes with search functionality
- Update Recipes: Edit existing recipes (name, description, image)
- Delete Recipes: Remove recipes with confirmation dialogs
- Search Functionality: Search recipes by name
- Recipe Details: Individual recipe pages with full information
- Image Upload: Support for recipe images with media handling
- View Counter: Track recipe popularity with view counts
- Responsive Design: Modern, user-friendly interface
- Flash Messages: Success/error notifications for user actions
- Admin Panel: Enhanced Django admin with custom display and image previews
- Backend: Django 5.0.4
- Database: SQLite (default)
- Frontend: HTML5, CSS3, JavaScript
- Authentication: Django's built-in authentication system
- File Upload: Django's file handling for recipe images
- Admin Interface: Custom Django admin with enhanced features
Recipe Site/
βββ manage.py # Django management script
βββ db.sqlite3 # SQLite database
βββ media/ # Uploaded recipe images
β βββ Recipe_pictures/
βββ reciepe/ # Main project directory
β βββ settings.py # Django settings
β βββ urls.py # Main URL configuration
β βββ wsgi.py # WSGI configuration
βββ reciepe_app/ # Main application
β βββ models.py # Recipe model definition
β βββ views.py # View functions
β βββ urls.py # App URL patterns
β βββ admin.py # Admin configuration
β βββ templates/ # HTML templates
β β βββ index.html # Homepage with recipe list
β β βββ login.html # Login page
β β βββ register.html # Registration page
β β βββ details.html # Recipe details page
β β βββ update_recipe.html # Recipe creation/editing
β β βββ delete.html # Recipe deletion confirmation
β β βββ logout.html # Logout confirmation
β βββ static/ # Static files
β βββ css/
β βββ js/
βββ static/ # Collected static files
- Python 3.x
- pip (Python package manager)
-
Clone the repository
git clone https://github.com/alishankhan-coder/Recipe-Management-System.git cd "Recipe Site"
-
Create virtual environment (recommended)
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install dependencies
pip install django pip install Pillow # For image handling
-
Run migrations
python manage.py makemigrations python manage.py migrate
-
Create superuser (optional, for admin access)
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Access the application
- Main application: http://127.0.0.1:8000/
- Admin panel: http://127.0.0.1:8000/admin/
- Registration: Visit the registration page to create a new account
- Login: Use your credentials to log into the system
- Browse Recipes: View all recipes on the homepage
- Search: Use the search bar to find specific recipes
- View Details: Click on any recipe to see full details
- Create Recipe: (Requires login) Add new recipes with images
- Edit Recipe: (Requires login) Update your existing recipes
- Delete Recipe: (Requires login) Remove recipes with confirmation
- Access Admin Panel: Login at
/admin/
with superuser credentials - Manage Users: View and manage user accounts
- Manage Recipes: Advanced recipe management with image previews
- View Statistics: Monitor recipe creation and user activity
recipe_name
: Unique recipe name (max 40 characters)recipe_disc
: Recipe description (text field)recipe_img
: Recipe image uploaduser
: Foreign key to User modelslug
: Auto-generated URL slugrecipe_created_at
: Timestamp of creationrecipe_view_count
: Number of views
/
- Homepage (recipe list)/create/
- Create new recipe (login required)/login/
- User login/register/
- User registration/logout/
- User logout/details/<slug>/
- Recipe details/update_recipe/<slug>/
- Edit recipe (login required)/delete/<slug>/
- Delete confirmation/delete_recipe/<slug>/
- Delete recipe (login required)
- CSRF Protection: Built-in Django CSRF protection
- Authentication Required: Protected routes for recipe management
- User-based Access: Users can only edit/delete their own recipes
- Password Validation: Django's built-in password validators
- Secure File Upload: Proper handling of uploaded images
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is open source and available under the MIT License.
- Developer: Alishan Khan
- GitHub: @alishankhan-coder
- Repository: Recipe-Management-System





- Recipe categories and tags
- Recipe rating and reviews
- Favorite recipes functionality
- Recipe sharing via social media
- Advanced search filters
- Email notifications
- Recipe print functionality
- Mobile app development