Приложение, на котором пользователи будут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Сервис «cписок покупок» позволит пользователям создавать список продуктов, которые нужно купить для приготовления выбранных блюд. Есть возможность выгрузить файл (.txt) с перечнем и количеством необходимых ингредиентов для рецептов.
Проект запущен на сервере и доступен по адресу:
- Python
- Django
- Django REST Framework
- PostgreSQL
- Docker
- Github Actions
- Склонировать репозиторий на локальную машину:
git clone git@github.com:Kaydalova/easy_recipes.git
cd foodgram-project-react- Cоздать и активировать виртуальное окружение:
python3 -m venv venvsource venv/bin/activate- Cоздайте файл
.envв директории/infra/с содержанием:
SECRET_KEY=секретный ключ django
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
- Перейти в директирию и установить зависимости из файла requirements.txt:
cd foodgram/
pip install -r requirements.txt- Выполните миграции:
python manage.py migrate- Загрузите ингредиенты:
python manage.py import_csv
- Запустите сервер:
python manage.py runserver- Установите Docker и docker compose плагин.
Параметры запуска описаны в файлах docker-compose.yml и nginx.conf которые находятся в директории infra/.
Измените список ip адресов в файле nginx.conf
- Запустите docker compose:
docker compose up -d --buildПосле сборки появляются 3 контейнера:
- контейнер базы данных db
- контейнер приложения backend
- контейнер web-сервера nginx
- Примените миграции:
docker compose exec backend python manage.py migrate- Загрузите ингредиенты:
docker сompose exec backend python manage.py import_csv* Создайте администратора:
```bash
docker compose exec backend python manage.py createsuperuser
- Соберите статику:
docker compose exec backend python manage.py collectstatic --noinput