На этом сервисе пользователи смогут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.
- Создать аккаунт.
- Просматривать рецепты на главной.
- Просматривать отдельные страницы рецептов.
- Просматривать страницы пользователей.
- Фильтровать рецепты по тегам.
- Входить в систему под своим логином и паролем.
- Выходить из системы (разлогиниваться).
- Менять свой пароль.
- Создавать/редактировать/удалять собственные рецепты
- Просматривать рецепты на главной.
- Просматривать страницы пользователей.
- Просматривать отдельные страницы рецептов.
- Фильтровать рецепты по тегам.
- Работать с персональным списком избранного: добавлять в него рецепты или удалять их, просматривать свою страницу избранных рецептов.
- Работать с персональным списком покупок: добавлять/удалять любые рецепты, выгружать файл с количеством необходимых ингредиентов для рецептов из списка покупок.
- Подписываться на публикации авторов рецептов и отменять подписку, просматривать свою страницу подписок.
Администратор обладает всеми правами авторизованного пользователя. Плюс к этому он может:
- изменять пароль любого пользователя,
- создавать/блокировать/удалять аккаунты пользователей,
- редактировать/удалять любые рецепты,
- добавлять/удалять/редактировать ингредиенты.
- добавлять/удалять/редактировать теги.
Все эти функции реализованы в стандартной админ-панели Django.
- Клонирование удаленного репозитория
git clone [email protected]:viator3m/foodgram-project-react.git
cd infra
- В директории /infra создайте файл .env, с переменными окружения, используя образец .env.example
- Сборка и развертывание контейнеров
docker-compose up -d --build
- Выполните миграции, соберите статику, создайте суперпользователя
docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py collectstatic --no-input
docker-compose exec backend python manage.py createsuperuser
- Наполните базу данных ингредиентами и тегами
docker-compose exec backend python manage.py load_data
- или наполните базу тестовыми данными (включают посты и пользователей)
docker-compose exec backend python manage.py loaddata data/data.json
- Стандартная админ-панель Django доступна по адресу
https://localhost/admin/
- Документация к проекту доступна по адресу
https://localhost/api/docs/
- Клонирование удаленного репозитория (см. выше)
- Создание виртуального окружения и установка зависимостей
cd backend
python -m venv venv
. venv/Scripts/activate (windows)
. venv/bin/activate (linux)
pip install --upgade pip
pip install -r -requirements.txt
- Примените миграции и соберите статику
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --noinput
- Наполнение базы данных ингредиентами и тегами
python manage.py load_data
- в файле foodgram/setting.py замените БД на встроенную SQLite
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
- Запуск сервера
python manage.py runserver
Проект доступен по адресу: f00dgram.sytes.net
Документация к API проекта: f00dgram.sytes.net/api/docs/