Project stack
- Python 3.7
- Django 2.1
- Django REST Framework
- Djoser
- Pillow
- Docker Compose
- Gunicorn
- Nginx
- PostgresQL
- GitHub Actions
Сайт "Foodgram" - это онлайн-сервис и API для него. На этом сервисе пользователи могут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список избранных или список покупок и скачивать список продуктов в виде PDF файла, необходимых для приготовления одного или нескольких выбранных блюд.
Клонируйте репозиторий:
git clone [email protected]:ThatCoderMan/foodgram-project-react.git
Установите и активируйте виртуальное окружение:
- для MacOS:
python3 -m venv venv
- для Windows:
python -m venv venv source venv/bin/activate source venv/Scripts/activate
Установите зависимости из файла requirements.txt:
pip install -r requirements.txt
Примените миграции:
python manage.py migrate
В папке с файлом manage.py выполните команду для запуска локально:
python manage.py runserver
Документация к проекту доступна по адресу:
http://127.0.0.1/api/docs/
Перейти в папку infra/:
cd infra/
Разверните контейнеры при помощи docker-compose:
docker-compose up -d --build
Выполните миграции:
docker-compose exec backend python manage.py migrate
Создайте суперпользователя:
docker-compose exec backend python manage.py createsuperuser
Заполните базу данных ингредиентами и тегами выполнив команду:
docker-compose exec backend python manage.py from_csv_to_db --no-input
Остановка контейнеров:
sudo docker-compose stop
В папке infra/ необходимо создать .env файл и заполнить его данными:
DB_ENGINE=django.db.backends.postgresql
DB_NAME=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DB_HOST=db
DB_PORT=5432
SECRET_KEY=YOUR_SECRET_KEY