Skip to content

Ahad-Muhib/Zestora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍳 Zestora - Recipe Sharing Platform

A modern, feature-rich recipe sharing platform built with Django that brings food enthusiasts together to discover, share, and discuss culinary creations.

Django Python Bootstrap License

✨ Features

πŸ” User Management

  • 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 Management

  • 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

πŸ’¬ Social Features

  • 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

πŸ‘¨β€πŸ³ Community Features

  • 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

🎨 User Experience

  • 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

πŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • pip (Python package manager)
  • Virtual environment support

Installation

  1. Clone the repository

    git clone https://github.com/Ahad-Muhib/Zestora.git
    cd Zestora
  2. Create and activate virtual environment

    Windows:

    python -m venv venv
    venv\Scripts\activate

    Linux/macOS (bash/zsh):

    python -m venv venv
    source venv/bin/activate

    Linux/macOS (fish shell):

    python -m venv venv
    source venv/bin/activate.fish
  3. Install dependencies

    pip install -r requirements.txt
  4. Database setup

    python manage.py migrate
  5. Create superuser (optional)

    python manage.py createsuperuser
  6. Run the development server

    python manage.py runserver
  7. Access the application

    • Open your browser and go to: http://127.0.0.1:8000
    • Admin panel: http://127.0.0.1:8000/admin

πŸ—οΈ Project Structure

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

πŸ› οΈ Technology Stack

  • 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

πŸ“± Key Functionalities

Recipe Management

  • Create recipes with ingredients, instructions, and images
  • Categorize recipes for easy discovery
  • Edit and delete your own recipes
  • Search and filter recipes

Social Interactions

  • Comment on recipes with threaded discussions
  • Like or dislike recipes
  • Save recipes to personal collection
  • Share recipes with others

User Profiles

  • Customize profile with photo and bio
  • View personal statistics (recipes, comments, likes)
  • Track cooking activity and engagement
  • Manage saved recipes

Content Organization

  • Browse recipes by categories
  • Discover featured recipes
  • Access cooking tips and guides
  • Explore community members

πŸ”§ Configuration

Environment Variables

Create a .env file in the project root:

SECRET_KEY=your-secret-key-here
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1

Google OAuth Setup

  1. Go to Google Cloud Console
  2. Create a new project or select existing
  3. Enable Google+ API
  4. Create OAuth 2.0 credentials
  5. Add credentials to Django admin under Social Applications

🚒 Deployment

Production Setup

  1. Set DEBUG=False in settings
  2. Configure ALLOWED_HOSTS
  3. Set up PostgreSQL database
  4. Configure static file serving
  5. Set environment variables
  6. Run python manage.py collectstatic

Render Deployment

The project includes build.sh for easy Render deployment:

  1. Connect repository to Render
  2. Set build command: ./build.sh
  3. Set start command: gunicorn zestora.wsgi:application

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Authors

πŸ™ Acknowledgments

  • Django community for the excellent framework
  • Bootstrap team for the responsive UI components
  • All contributors and testers who helped improve the platform

πŸ“§ Support

For support, email [muhibalahad@gmail.com] or open an issue on GitHub.

πŸ”— Links


Made with ❀️ by food enthusiasts, for food enthusiasts.

About

Live link

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors