FoodGram is an online platform where users can create, view, and share recipes. Here, you can find a wide variety of recipes, add them to your favorites, and create a shopping list to purchase the necessary ingredients.
- User registration and authentication
- Recipe creation, editing, and deletion
- Adding recipes to favorites
- Creating a shopping list and downloading the ingredient list
- Recipe search by tags
- Uploading images for recipes
- Django - the main framework used for development
- Django REST Framework - used for creating the API
- PostgreSQL - the database for storing recipes, users, and other data
- Docker - used for containerizing the application
- Install Docker and Docker Compose if you haven't already.
- Clone the repository:
git clone https://github.com/Kapshtyk/foodgram-project-react.git
- Navigate to the project folder containing the infrastructure setup files:
cd foodgram-project-react/infra
- Create your own
.env
file based on the provided.env.example
file for connecting to the database. - Build and launch the containers:
docker-compose build
docker-compose up
- To populate the local version of the website with content, run the following commands in the terminal:
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input
docker-compose exec backend python manage.py loaddata database.json
- The website will be accessible at localhost. To access the site, register through the provided form at localhost/signup. To access the admin panel, create a superuser by running the command
docker-compose exec backend python manage.py createsuperuser
in the terminal. Alternatively, you can use the loginadmin@admin.ru
with the passwordadmin
to access the admin panel.
- LinkedIn - Arseny Kapshtyk
- Github - @kapshtyk