Python
Django
Django Rest Framework
Docker
Gunicorn
NGINX
PostgreSQL
Yandex Cloud
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.
- Backend: Django (Python)
- Frontend: React
- Server: Gunicorn with Nginx
- Deployment: Docker
- 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.
- API Endpoint:
/api/
- Access the recipe data, tags, ingredients, user info. - Admin Interface:
/admin/
- Manage the platform (demo login:[email protected]
/Gfhjkm12345
)
Try Foodgram at: https://myfoodgram.zapto.org/
Explore Foodgram on your local machine by following these steps:
- Clone the repository:
[email protected]:thehallowedfire/foodgram-project-react.git
- Navigate into the directory:
cd foodgram-project-react
- Rename
demo.env
file into.env
. Populate it with your data (optional; do not changeDB_HOST
andDB_PORT
values). - Navigate into
infra
directory:
cd infra
- Compose Docker container (Docker should be installed on your local machine):
docker compose up
- 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
- Import ingredients:
docker cp ./data infra-backend-1://../backend_static
docker compose exec backend python manage.py add_ingredients
- Create superuser:
docker compose exec backend python manage.py createsuperuser
- Enter admin zone with admin credentials (you just created it)
- Create 3 tags.
- Now you can explore the site on http://localhost:7000/