Grocery assistant — сайт, на котором пользователи могут опубликовать свои рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Пользователям сайта также будет доступен сервис «Список покупок». Он позволит создавать список продуктов, которые нужно купить для приготовления выбранных блюд. Также есть возможность скачивания данного списка в формате txt.
На данной странице список первых шести рецептов, отсортированных по дате публикации «от новых к старым». На данной странице реализованна постраничную пагинация. Остальные рецепты доступны на следующих страницах.
Полное описание рецепта. Страница доступна всем пользователям. Авторизованные пользователи могут добавить рецепт в избранное и список покупок, а также подписаться на автора рецепта.
На странице — имя пользователя, все рецепты, опубликованные пользователем и возможность подписаться на пользователя.
Подписка на публикации доступна только авторизованному пользователю. Страница подписок доступна только владельцу. Сценарий поведения пользователя:
- Пользователь переходит на страницу другого пользователя или на страницу рецепта и подписывается на публикации автора кликом по кнопке «Подписаться на автора».
- Пользователь переходит на страницу «Мои подписки» и просматривает список рецептов, опубликованных теми авторами, на которых он подписался. Сортировка записей - по дате публикации (от новых к старым).
- При необходимости пользователь может отказаться от подписки на автора: переходит на страницу автора или на страницу его рецепта и нажимает «Отписаться от автора».
Добавлять рецепты в избранное может только авторизованный пользователь. Сам список избранного может просмотреть только его владелец. Сценарий поведения пользователя:
- Пользователь отмечает один или несколько рецептов кликом по кнопке «Добавить в избранное».
- Пользователь переходит на страницу «Список избранного» и просматривает свой список избранных рецептов.
- При необходимости пользователь может удалить рецепт из избранного.
Работать со списком покупок могут только авторизованные пользователи. Доступ к своему списку покупок есть быть только у владельца аккаунта. Сценарий поведения пользователя:
- Пользователь отмечает один или несколько рецептов кликом по кнопке «Добавить в покупки».
- Пользователь переходит на страницу «Список покупок», там доступны все добавленные в список рецепты.
- Пользователь нажимает кнопку «Скачать список» и получает файл с перечнем и количеством необходимых ингредиентов для всех рецептов, сохранённых в «Списке покупок».
- При необходимости пользователь может удалить рецепт из списка покупок.
Доступ к этой странице есть только у авторизованных пользователей. Все поля на ней обязательны для заполнения. Сценарий поведения пользователя:
- Пользователь заполняет все обязательные поля.
- Пользователь нажимает кнопку «Создать рецепт». Также пользователю доступна возможность отредактировать любой рецепт, который он создал.
При нажатии на название тега выводится список рецептов, отмеченных этим тегом. Фильтрация может проводится по нескольким тегам. При фильтрации на странице пользователя фильтруются только рецепты выбранного пользователя. Такой же принцип соблюдается при фильтрации списка избранного.
- Python
- Django
- Django Rest Framework
- PostgreSQL
- Docker
- Gunicorn
- NGINX
- Continuous Integration
- Continuous Deployment
Денис Дриц