Skip to content

Foodgram is a diploma project from the Yandex Practicum Python Backend course

Notifications You must be signed in to change notification settings

thehallowedfire/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Django Django Rest Framework Docker Gunicorn NGINX PostgreSQL Yandex Cloud

Foodgram Webservice

Foodgram is a diploma project from the Yandex Practicum Python Backend course designed for food enthusiasts to share and discover recipes. The project is built using practical, industry-standard tools to provide a straightforward and effective user experience.

Technical Overview

  • Backend: Django (Python)
  • Frontend: React
  • Server: Gunicorn with Nginx
  • Deployment: Docker

Key Features

  • Recipe Sharing: Post your recipes for others to enjoy.
  • Favorites: Save recipes you love for easy access later.
  • Shopping Cart: Add ingredients to your cart and download a shopping list with one click.
  • Subscriptions: Follow other users and see their recipes conveniently on a dedicated page.

Available Endpoints

  • API Endpoint: /api/ - Access the recipe data, tags, ingredients, user info.
  • Admin Interface: /admin/ - Manage the platform (demo login: [email protected] / Gfhjkm12345)

Demo

Try Foodgram at: https://myfoodgram.zapto.org/


Local Installation Guide

Explore Foodgram on your local machine by following these steps:

  1. Clone the repository:
[email protected]:thehallowedfire/foodgram-project-react.git
  1. Navigate into the directory:
cd foodgram-project-react
  1. Rename demo.env file into .env. Populate it with your data (optional; do not change DB_HOST and DB_PORT values).
  2. Navigate into infra directory:
cd infra
  1. Compose Docker container (Docker should be installed on your local machine):
docker compose up
  1. Apply migrations (in a separate Bash window navigate to the same folder and follow the next steps):
docker compose exec backend python manage.py makemigrations
docker compose exec backend python manage.py migrate
  1. Import ingredients:
docker cp ./data infra-backend-1://../backend_static
docker compose exec backend python manage.py add_ingredients
  1. Create superuser:
docker compose exec backend python manage.py createsuperuser
  1. Enter admin zone with admin credentials (you just created it)
  2. Create 3 tags.
  3. Now you can explore the site on http://localhost:7000/

Author

Vladislav Kondrashov GitHub Telegram

About

Foodgram is a diploma project from the Yandex Practicum Python Backend course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published