Skip to content

REST API and React SPA for site with food recipes.

Notifications You must be signed in to change notification settings

melax08/recipes_site

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodgram - лучший сайт с рецептами

foodgram workflow

Описание проекта:

Данный проект содержит в себе полноценный сервис, который позволяет людям делиться рецептами, смотреть рецепты других людей, добавлять их в избранное, в список покупок, скачивать список ингредиентов для покупки, подписываться на понравившихся авторов.

В проекте присутствует:

  1. Полноценный SPA в качестве фронтенда;
  2. API-бэкенд;
  3. Инфраструктурные скрипты, позволяющие быстро развернуть проект на сервере;
  4. Документация.

Подробнее обо всем об этом в следующем разделе.

Технологии:

В проекте используются следующие технологии:

  1. В качестве фронтенда выступает одностраничное приложение на фреймворке React, которое взаимодействует с бэкенд-API.
  2. В качестве бэкенда выступает API-приложение, которое написано с использованием фреймворка Django Rest Framework. Фронтенд уже настроен на использование данного API, кроме того, данное API можно использовать для работы с другими сервисами, например его можно интегрировать в различные чат-боты, либо в мобильное приложение. Подробнее см. раздел с документацией.
  3. Все приложения в сервисе готовы к работе в docker-контейнерах. Подробнее см. раздел с установкой.

Автор:

Илья Малашенко, выпускник яндекс практикума по специальности "python-разработчик".

Установка:

Проект автоматически разворачивается на боевом сервере через github actions. Настроить под себя можно в файле .github/workflows/foodgram-workflow.yml

Инструкция по ручной установке на сервер:

  1. Клонируем репозиторий с проектом на удаленном сервере:
git clone https://github.com/melax08/foodgram-project-react.git
  1. Переходим в каталог с инфраструктурными скриптами:
cd foodgram-project-react/infra
  1. Заполняем файл .env в соответствии с примером:
mv .env_example .env
nano .env
  1. В файле nginx.conf указываем домен или IP (или и то и другое) для вашего сайта в секции server_name.

  2. Запускаем 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