Продуктовый помощник - это приложение для публикации рецептов.
- Доступна главная страница.
- Доступна страница другого пользователя.
- Доступна страница отдельного рецепта.
- Доступна страница «Мои подписки»: a. можно подписаться и отписаться на странице рецепта; b. можно подписаться и отписаться на странице автора; c. при подписке рецепты автора добавляются на страницу «Мои подписки» и удаляются оттуда при отказе от подписки.
- Доступна страница «Избранное»: a. на странице рецепта есть возможность добавить рецепт в список избранного и удалить его оттуда; b. на любой странице со списком рецептов есть возможность добавить рецепт в список избранного и удалить его оттуда.
- Доступна страница «Список покупок»: a. на странице рецепта есть возможность добавить рецепт в список покупок и удалить его оттуда; b. на любой странице со списком рецептов есть возможность добавить рецепт в список покупок и удалить его оттуда; c. есть возможность выгрузить файл с перечнем и количеством необходимых ингредиентов для рецептов из «Списка покупок»; d. ингредиенты в выгружаемом списке не повторяются, корректно подсчитывается общее количество для каждого ингредиента.
- Доступна страница «Создать рецепт»: a. есть возможность опубликовать свой рецепт; b. есть возможность отредактировать и сохранить изменения в своём рецепте; c. есть возможность удалить свой рецепт.
- Доступна возможность выйти из системы.
- Доступна главная страница.
- Доступна страница отдельного рецепта.
- Доступна страница любого пользователя.
- Доступна и работает форма авторизации.
- Доступна и работает форма регистрации.
- Все модели выведены в админ-зону.
- Для модели пользователей включена фильтрация по имени и email.
- Для модели рецептов включена фильтрация по названию, автору и тегам.
- На админ-странице рецепта отображается общее число добавлений этого рецепта в избранное.
- Для модели ингредиентов включена фильтрация по названию.
- Рецепты на всех страницах сортируются по дате публикации (новые — выше).
- Работает фильтрация по тегам, в том числе на странице избранного и на странице рецептов одного автора.
- Работает пагинатор, в том числе при фильтрации по тегам.
- Проект работает с СУБД PostgreSQL.
- Проект запущен на виртуальном удалённом сервере в трёх контейнерах: nginx, PostgreSQL и Django+Gunicorn. Заготовленный контейнер с фронтендом используется для сборки файлов.
- Контейнер с проектом обновляется на Docker Hub.
- В nginx настроена раздача статики, запросы с фронтенда переадресуются в контейнер с Gunicorn. Джанго-админка работает напрямую через Gunicorn.
- Данные сохраняются в volumes.
- Клонируйте репозиторий с проектом на свой компьютер
git clone [email protected]:Xenia387/foodgram-project-react.git
cd foodgram-project-react
- Установите и активируйте виртуальное окружение
python3 -m venv env
source venv/bin/activate
или
python -m venv env
source venv/Scripts/activate
- Установите зависимости из файла requirements.txt
python -m pip install --upgrade pip
pip install -r requirements.txt
- Выполните миграции
cd backend/foodgram_project
python manage.py makemigrations
python manage.py migrate
- Python,
- PostgreSQL,
- Nginx
- Docker
- Docker-compose
- Docker Hub
- Django==3.1.4
- Gunicorn,
Автор: Анисимова Ксения
- email: [email protected]
- telegram: @Ksenia_An_mova