A modern, feature-rich recipe sharing platform built with Django that brings food enthusiasts together to discover, share, and discuss culinary creations.
- User Registration & Authentication - Secure signup/login system
- User Profiles - Customizable profiles with bio, location, and profile pictures
- Social Authentication - Google OAuth integration
- Profile Statistics - Track recipes, comments, likes, and activity
- Recipe Creation - Rich text editor with image uploads
- Recipe Categories - Organized categorization system
- Recipe Search - Find recipes by title, ingredients, or category
- Recipe Editing - Full CRUD operations for recipe authors
- PDF Export - Download recipes as beautifully formatted PDFs
- Comments System - Threaded discussions on recipes
- Like/Dislike System - Rate recipes with thumbs up/down
- Recipe Bookmarking - Save favorite recipes for later
- Recipe Sharing - Share recipes via direct links
- Community Engagement - Interactive discussions and feedback
- Chef Profiles - Dedicated pages for cooking enthusiasts
- Member Directory - Browse community members
- Activity Tracking - Monitor user engagement and contributions
- Recipe Collections - Curated lists of related recipes
- Responsive Design - Mobile-first, works on all devices
- Modern UI - Clean, intuitive interface with Bootstrap 5
- Real-time Updates - AJAX-powered interactions
- Image Optimization - Efficient media handling
- Fast Loading - Optimized performance
- Python 3.8+
- pip (Python package manager)
- Virtual environment support
-
Clone the repository
git clone https://github.com/Ahad-Muhib/Zestora.git cd Zestora -
Create and activate virtual environment
Windows:
python -m venv venv venv\Scripts\activate
Linux/macOS (bash/zsh):
python -m venv venv source venv/bin/activateLinux/macOS (fish shell):
python -m venv venv source venv/bin/activate.fish -
Install dependencies
pip install -r requirements.txt
-
Database setup
python manage.py migrate
-
Create superuser (optional)
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Access the application
- Open your browser and go to:
http://127.0.0.1:8000 - Admin panel:
http://127.0.0.1:8000/admin
- Open your browser and go to:
Zestora/
βββ community/ # Community features and member management
βββ recipes/ # Core recipe functionality
β βββ models.py # Recipe, Comment, Like models
β βββ views.py # Recipe views and API endpoints
β βββ forms.py # Recipe and comment forms
β βββ migrations/ # Database migrations
βββ userprofile/ # User profile management
βββ tips/ # Cooking tips and guides
βββ templates/ # HTML templates
β βββ recipes/ # Recipe-specific templates
β βββ userprofile/ # Profile templates
β βββ community/ # Community templates
βββ static/ # CSS, JavaScript, images
βββ media/ # User-uploaded content
βββ zestora/ # Main project settings
βββ requirements.txt # Python dependencies
- Backend: Django 5.2.6, Python 3.x
- Frontend: Bootstrap 5.3.0, JavaScript (ES6+), HTML5, CSS3
- Database: SQLite (development), PostgreSQL (production ready)
- Authentication: Django Auth + Google OAuth
- File Storage: Django file handling with WhiteNoise
- PDF Generation: WeasyPrint
- Image Processing: Pillow
- Deployment: Render, Gunicorn, WhiteNoise
- Create recipes with ingredients, instructions, and images
- Categorize recipes for easy discovery
- Edit and delete your own recipes
- Search and filter recipes
- Comment on recipes with threaded discussions
- Like or dislike recipes
- Save recipes to personal collection
- Share recipes with others
- Customize profile with photo and bio
- View personal statistics (recipes, comments, likes)
- Track cooking activity and engagement
- Manage saved recipes
- Browse recipes by categories
- Discover featured recipes
- Access cooking tips and guides
- Explore community members
Create a .env file in the project root:
SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google+ API
- Create OAuth 2.0 credentials
- Add credentials to Django admin under Social Applications
- Set
DEBUG=Falsein settings - Configure
ALLOWED_HOSTS - Set up PostgreSQL database
- Configure static file serving
- Set environment variables
- Run
python manage.py collectstatic
The project includes build.sh for easy Render deployment:
- Connect repository to Render
- Set build command:
./build.sh - Set start command:
gunicorn zestora.wsgi:application
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Ahad Muhib - @Ahad-Muhib
- Minazur Rahman - @Minazur-Rahman
- Django community for the excellent framework
- Bootstrap team for the responsive UI components
- All contributors and testers who helped improve the platform
For support, email [muhibalahad@gmail.com] or open an issue on GitHub.
Made with β€οΈ by food enthusiasts, for food enthusiasts.