Skip to content

Latest commit

 

History

History
82 lines (73 loc) · 6.52 KB

README.md

File metadata and controls

82 lines (73 loc) · 6.52 KB

Foodgram

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

«Продуктовый помощник» - это интерактивное веб-приложение, которое позволяет пользователям делиться своими рецептами, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис также предоставляет удобный инструмент «Список покупок», с помощью которого пользователи могут скачать список добавленных ингредиентов в виде PDF файла.

Вот основной функционал, доступный веб-приложению:

  • Рецепты: Пользователи могут создавать рецепты, указывать автора, название, картинку, описание, ингредиенты, теги и время приготовления. Все поля являются обязательными для заполнения.
  • Теги: Рецепты могут быть помечены тегами, которые помогают классифицировать и фильтровать рецепты. Каждый тег имеет название, цветовой HEX-код и slug. Все поля тега также обязательны для заполнения и должны быть уникальными.
  • Ингредиенты: Данные об ингредиентах хранятся в нескольких связанных таблицах. Пользователи могут указывать название ингредиента, его количество и единицы измерения. Все поля ингредиента обязательны для заполнения.
  • Главная страница: На главной странице отображается список первых шести рецептов, отсортированных по дате публикации. Для остальных рецептов доступна пагинация.
  • Страница рецепта: На странице рецепта предоставляется полное описание рецепта. Авторизованные пользователи могут добавлять рецепты в избранное и в список покупок, а также подписываться на автора рецепта.
  • Страница пользователя: На странице пользователя отображается имя пользователя, все рецепты, опубликованные им, и возможность подписаться на пользователя.
  • Подписка на авторов: Авторизованные пользователи могут подписываться на публикации авторов рецептов и отменять подписку. Страница подписок доступна только владельцу.
  • Список избранного: Авторизованные пользователи могут добавлять рецепты в свой список избранного, просматривать его и при необходимости удалять рецепты из него.
  • Список покупок: Авторизованные пользователи могут создавать список покупок на основе рецептов, добавлять и удалять рецепты из списка. Также доступна функция скачивания списка покупок в формате PDF, который содержит суммированный перечень и количество необходимых ингредиентов для всех рецептов из списка. При скачивании списка покупок ингредиенты в результирующем списке не дублируются.
  • Фильтрация по тегам: Пользователи могут фильтровать рецепты по тегам. При выборе тега выводится список рецептов, отмеченных этим тегом. Фильтрация может проводиться по нескольким тегам в комбинации "или".
  • Регистрация и авторизация: Пользователям предоставляется возможность регистрации и авторизации в системе. Различные уровни доступа (гость, авторизованный пользователь, администратор) определяют, какой функционал доступен каждому типу пользователя.

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

Используемые технологии

Проект разработан с использованием следующих технологий:

  • React
  • Django Rest Framework
  • PostgreSQL
  • Docker
  • Nginx

Как запустить проект

  1. Убедитесь, что у вас установлен Docker и Docker Compose. Если их нет, следуйте инструкциям на официальном сайте Docker для их установки на вашу операционную систему.
  2. Склонируйте репозиторий проекта на свою локальную машину
    git@github.com:qwertttyyy/foodgram-project-react.git
    
  3. Перейдите в папку infra:
    cd infra
    
  4. Запустите проект с помощью Docker Compose:
    docker-compose up -d
    
  5. Проект будет запущен и будет доступен по адресу http://localhost.