https://github.com/U-Lasouski/foodgram-project-react
Foodgram project template
https://github.com/U-Lasouski/foodgram-project-react
api ci-cd django django-framework django-rest-framework docker github-actions python3 rest-api
Last synced: 8 months ago
JSON representation
Foodgram project template
- Host: GitHub
- URL: https://github.com/U-Lasouski/foodgram-project-react
- Owner: herrShneider
- Created: 2024-04-15T09:39:08.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-25T01:49:17.000Z (about 2 years ago)
- Last Synced: 2024-12-22T23:22:07.625Z (over 1 year ago)
- Topics: api, ci-cd, django, django-framework, django-rest-framework, docker, github-actions, python3, rest-api
- Language: JavaScript
- Homepage: https://foodgram-las.hopto.org/
- Size: 732 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# foodgram-project-react

Проект доступен по ссылке:
[foodgram-las.hopto.org](https://foodgram-las.hopto.org/)
Документация доступна после запуска проекта по ссылке:
[foodgram-las.hopto.org/api/docs/](https://foodgram-las.hopto.org/api/docs/)
Учебный проект сайта, на котором пользователи могут публиковать рецепты, добавлять чужие рецепты в избранное и подписываться на публикации других авторов. Пользователям сайта также доступен сервис «Список покупок». Он позволяет создавать список продуктов, которые нужно купить для приготовления выбранных блюд.. Целью проекта является закрепление знаний в области разработки API веб приложений на Django Rest Framework, запуска проектов в контейнерах, настройки автоматического тестирования и деплоя на удалённый сервер.
Автоматизация настроена с помощью сервиса GitHub Actions.
При пуше в ветку main:
проект тестируется и деплоится на удалённый сервер,
при пуше в любую другую ветку проект только тестируется.
В случае успешного прохождения тестов образы обновляются на Docker Hub.
На сервере запускаются контейнеры из обновлённых образов.
Стэк: Python 3.9.10 / Django 3.2.3 / Docker / GitHub Actions / Docker Hub
Установка:
Клонировать репозиторий и перейти в него в командной строке:
```
git clone git@github.com:herrShneider/foodgram-project-react.git
```
```
cd foodgram-project-react/
```
Создать файл .env по образцу .env.example
Выполнить pull образов с Docker Hub:
```
sudo docker compose -f docker-compose.production.yml pull
```
Запустить/Перезапустить все контейнеры в Docker Compose:
```
sudo docker compose -f docker-compose.production.yml down
```
```
sudo docker compose -f docker-compose.production.yml up -d
```
Выполнить миграции и сбор статики:
```
sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
```
```
sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
```
```
sudo docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /backend_static/static/
```
При первом запуске для наполнения базы данных ингредиентами и тегами выполните manage команду:
```
sudo docker compose -f docker-compose.production.yml exec backend python manage.py import_csv
```
Авторы:
- [Ласовский Владимир](https://github.com/herrShneider?tab=repositories)