Данный проект содержит в себе полноценный сервис, который позволяет людям делиться рецептами, смотреть рецепты других людей, добавлять их в избранное, в список покупок, скачивать список ингредиентов для покупки, подписываться на понравившихся авторов.
В проекте присутствует:
- Полноценный SPA в качестве фронтенда;
- API-бэкенд;
- Инфраструктурные скрипты, позволяющие быстро развернуть проект на сервере;
- Документация.
Подробнее обо всем об этом в следующем разделе.
В проекте используются следующие технологии:
- В качестве фронтенда выступает одностраничное приложение на фреймворке React, которое взаимодействует с бэкенд-API.
- В качестве бэкенда выступает API-приложение, которое написано с использованием фреймворка Django Rest Framework. Фронтенд уже настроен на использование данного API, кроме того, данное API можно использовать для работы с другими сервисами, например его можно интегрировать в различные чат-боты, либо в мобильное приложение. Подробнее см. раздел с документацией.
- Все приложения в сервисе готовы к работе в docker-контейнерах. Подробнее см. раздел с установкой.
Илья Малашенко, выпускник яндекс практикума по специальности "python-разработчик".
Проект автоматически разворачивается на боевом сервере через github actions. Настроить под себя можно в файле .github/workflows/foodgram-workflow.yml
Инструкция по ручной установке на сервер:
- Клонируем репозиторий с проектом на удаленном сервере:
git clone https://github.com/melax08/foodgram-project-react.git
- Переходим в каталог с инфраструктурными скриптами:
cd foodgram-project-react/infra
- Заполняем файл .env в соответствии с примером:
mv .env_example .env
nano .env
-
В файле nginx.conf указываем домен или IP (или и то и другое) для вашего сайта в секции server_name.
-
Запускаем docker-compose (должен быть установлен на сервере):
sudo docker-compose up -d
После запуска проекта, API-документация будет доступа по адресу: https://foodgram.2241.ru/api/docs/
Вместо foodgram.2241.ru - нужно подставить домен или IP вашего сайта.
Сайт доступен по адресу: https://foodgram.2241.ru/
Админка: https://foodgram.2241.ru/admin
Данные доступа пользователей:
Super user:
Логин: admin
Почта: [email protected]
Пароль: eB33rtlqzzz5KkQflzt
admin:
Логин: stuffuser
Почта: [email protected]
Пароль: 8Fypjhwew3urziSse5E
user:
Логин: sausage
Почта: [email protected]
Пароль: u7wkgNlfjcr3sRB0jin