Skip to content

Приложение продуктовый помощник

Notifications You must be signed in to change notification settings

HelloAgni/foodgram-project-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Продуктовый помощник - foodgram

workflow


Приложение, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис «cписок покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд. Есть возможность выгрузить файл (.txt) с перечнем и количеством необходимых ингредиентов для рецептов.

Для работы с проектом необходимо выполнить действия, описанные ниже.

git clone <project>
cd foodgram-project-react/infra/
# сделайте копию файла <.env.example> в <.env>
cp .env.example .env

Docker

docker compose up -d
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --noinput
# Для заполнения базы Тегами и ингредиентами выполните:
docker-compose exec backend python manage.py import_tags
docker-compose exec backend python manage.py import_ingredients
# Для заполнения базы пользователями и рецептами выполните:
docker-compose exec backend python manage.py data_test

Тестовый пользователь и администратор

Если выполнены все импорты в базу данных:

# Админ зона
http://localhost/admin
Login: admin
Password: admin777

# Тестовый пользователь
http://localhost/
Email: [email protected]
Password: Qwerty999

# Документация
http://localhost/redoc

POSTMAN
Для полноценного использования API необходимо выполнить регистрацию пользователя и получить токен. Инструкция для Postman:

Получить токен для тестового пользователя если выполнены все импорты:
POST http://localhost/api/auth/token/login/

{
    "email": "[email protected]",
    "password": "Qwerty999"
}

Без импортов, регистрируем нового пользователя
POST http://localhost/api/users/

{
    "email": "[email protected]",
    "username": "User101",
    "first_name": "Вася",
    "last_name": "Иванов",
    "password": "Qwerty777"
}

Получаем токен
POST http://localhost/api/auth/token/login/

{
    "password": "Qwerty777",
    "email": "[email protected]"
}

Response status 200 OK ✅

{
    "token": "eyJ0e..........."
}

Полученный токен вставляем Postman -> закладка Headers -> Key(Authorization) -> Value (Ваш токен в формате: Token da6ee....)

Технологии:
Python 3.9, Django 3.2, DRF 3.13, Nginx, Docker, Docker-compose, Postgresql, Github Actions.

Превью
img

Releases

No releases published

Packages

No packages published