После регистрации и авторизации пользователю Foodgram будет доступно:
- публикация своих рецептов;
- редактирование и удаление своих рецептов;
- просмотр профиля авторов рецептов;
- подписываться на любимых авторов рецептов;
- добавлять понравившиеся рецепты в избранное;
- на основе рецептов, добавленных в список покупок формировать список продуктов, необходимых для приготовления рецептов из списка покупок.
Если вы не авторизованный пользователь, голодным не останетесь. Для вас доступен просмотр всех опубликованных рецептов.
- главная страница
- страница регистрации пользователя
- API проекта доступен по адресу: localhost/api/
- документация к API доступна по адресу: localhost/api/docs/
Endpoint: localhost/api/users/
Права доступа: доступно неавторизованным пользователлям
Метод: POST
Пример запроса:
{
"email": "vpupkin@yandex.ru",
"username": "vasya.pupkin",
"first_name": "Вася",
"last_name": "Пупкин",
"password": "Qwerty123"
}
Пример ответа:
{
"email": "vpupkin@yandex.ru",
"id": 0,
"username": "vasya.pupkin",
"first_name": "Вася",
"last_name": "Пупкин"
}
Endpoint: localhost/api/recipes/
Метод: POST
Права доступа: доступно авторизованным пользователлям
Пример запроса:
{
"ingredients": [
{
"id": 1123,
"amount": 10
}
],
"tags": [
1,
2
],
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAgMAAABieywaAAAACVBMVEUAAAD///9fX1/S0ecCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAACklEQVQImWNoAAAAggCByxOyYQAAAABJRU5ErkJggg==",
"name": "string",
"text": "string",
"cooking_time": 1
}
Пример ответа:
{
"id": 0,
"tags": [
{
"id": 0,
"name": "Завтрак",
"color": "#E26C2D",
"slug": "breakfast"
}
],
"author": {
"email": "user@example.com",
"id": 0,
"username": "string",
"first_name": "Вася",
"last_name": "Пупкин",
"is_subscribed": false
},
"ingredients": [
{
"id": 0,
"name": "Картофель отварной",
"measurement_unit": "г",
"amount": 1
}
],
"is_favorited": true,
"is_in_shopping_cart": true,
"name": "string",
"image": "http://foodgram.example.org/media/recipes/images/image.jpeg",
"text": "string",
"cooking_time": 1
}
После разворачивания проекта на сервере в Docker контейнерах, необходимо подключиться к контейнеру бэкенда
и дать команду для создания суперпользователя.
Сделать это можно следующей командой:
sudo docker compose -f docker-compose.production.yml exec backend python manage.py createsuperuser
После чего необходимо аккуратно ввести запрашиваемые данные. Обязательно создайте надежный и безопасный пароль
Для того, чтобы пользователи могли создавать рецепты, необходимо выгрузить данные об ингредиентах в БД из подготовленного CSV файла.
После того, как проект будет полностью запущен на сервере, введите следующую команду:
sudo docker compose -f docker-compose.production.yml exec backend python manage.py load
- Барабанщиков Кирилл, Удмуртская республика, г. Ижевск
- Telegram: https://t.me/Kirill_Barabanshchikov
- почта: bks2408@mail.ru
- Python:3.9
- Django 3.2.3
- DjangoRestFramework 3.12.4