Проект предназначен для Публикации рецептов. Кроме того вы можете добавлять рецепты в избранное, фильтровать их то тегам, подписываться на авторов и формировать собственный список покупок на основании рецептов добавленных в него.
Для локального запуска приложения создайте файл .env в корне backend/.env, пример расположен в директорию /infra/.
После создания файла выполните следующие команды.
python manage.py migrate
Наполните базу данных тестовыми данными.
python manage.py loaddata data/test_db_data.json
Создайте суперпользователя
python manage.py createsuperuser
Выполните команду для загрузки локализации, поддерживается русский и английский языки.
python manage.py compilemessages
Запустите сервер
python manage.py runserver
Для создания контейнера с БД необходимо поместить файл .env в директорию /infra/.env с наполнением соответствующем шаблону .env.example расположенным в той же директории.
Для запуска приложения запустите докер и выполните команду для создания образов и контейнеров находясь в директории с файлом docker-compose.yaml.
docker-compose up -d
Выполните миграции.
docker-compose exec web python manage.py migrate
Выполните команду для сбора статики.
docker-compose exec web python manage.py collectstatic --no-input
Выполните команду для загрузки локализации, поддерживается русский и английский языки.
sudo docker-compose exec web python manage.py compilemessages
Проект развернут и готов к работе!
Для получения информации о доступных командах перейдите в документацию к API по ссылке:
- Docs: http://127.0.0.1/api/docs/;
- Swagger: http://127.0.0.1/api/swagger/.
Выполните команду
docker-compose down -v
Создайте суперюзера.
winpty docker-compose exec web python manage.py createsuperuser
Заполните БД заранее подготовленными ингредиентами выполнив команду.
docker-compose exec web python manage.py load_csv_data
Боевой сервер развернут при помощи YandexCloud.
Реализована технология автоматической загрузки изменений на сервер при помощи git action. Создан пре-хук коммит для линтера ruff. Настроены файлы для диполя, такие как docker-compose.yml, nginx.conf, Makefile.
Неактуальная информация:
Адреса боевого сервера:
- http://vicimus-foodgram.sytes.net/;
- http://158.160.61.84/.
Документация доступна по следующим адресам:
- Docs: http://vicimus-foodgram.sytes.net/api/docs/;
- Swagger: http://vicimus-foodgram.sytes.net/api/swagger/.
Данные для входа под админом:
- Username: admin;
- Password: admin.