Foodgram
— проект, созданный во время обучения в Яндекс Практикуме. Этот проект — часть учебного курса, но он создан полностью самостоятельно.
Цель проекта — дать возможность пользователям создавать и хранить рецепты на онлайн-платформе. Кроме того, можно скачать список продуктов, необходимых для приготовления блюда, просмотреть рецепты друзей и добавить любимые рецепты в список избранных.
Проект доступен для ознакомления по ссылке — https://foodgram-practicum.ddns.net/.
Документация API
проекта в формате Swagger UI
— https://foodgram-practicum.ddns.net/api/swagger/.
- Python 3.11
- Django 5.0
- Django REST framework 3.15
- CI/CD с использованием
GitHub Actions
иDocker
Склонируйте проект:
git clone git@github.com:chrnmaxim/foodgram.git
- В корневой директории проекта создайте
.env
на основе.env.example
:
cp -r .env.example .env
- Запустите базу данных PostgreSQL в Docker контейнере:
docker compose -f docker-compose.localdb.yml up -d
- Перейдите в директорию
/backend
:
cd backend/
- Создайте виртуальное окружение:
python -m venv venv
- Активируйте виртуальное окружениe:
. venv/Scripts/activate
- Обновите менеджер пакетов pip:
python -m pip install --upgrade pip
- Установите зависимости из
requirements.txt
:
pip install -r requirements.txt
- Примените миграции:
python manage.py migrate
- Создайте суперпользователя:
python manage.py createsuperuser
- Запустите сервер разработки (виртуальное окружение должно быть активно):
python manage.py runserver
- В корневой директории проекта создайте
.env
на основе.env.example
:
Note
Измените значение параметра POSTGRES_HOST
для корректного запуска в контейнере c localhost
на db
.
cp -r .env.example .env
- Запустите проект в
Docker
контейнерах:
docker compose up -d