# praktikum_new_diplom
### Описание проекта:
Данный проект является итоговым в моем обучении в Яндекс.Практикум. В рамках его реализации я работал с docker-compose, nginx, Yandex Cloud и многими другими сервисами и технологиями. Проект довольно комплексный и масштабный, весь функционал в нем реализован в виде api на Django Framework, включая авторизацию, загрузку и изменение рецептов, добавление рецептов в корзину и редактирование самой корзины, все кнопки, которые есть на сайте - обращаются к бэкенду и работают с ним.
### Описание реализованных функций:
* Добавление и редактирование рецептов
* Добавление и редактирование рецептов в корзине
* Сортировка рецептов по тегам, автору, избранному(django-filter), а также пагинация
* Генерация списка покупок на основе рецептов добавленных в корзину. (Все граммовки ингредиентов суммируются)
* Личный кабинет: регистрация, вход, смена пароля, реализованы с помощью djoser
* Админ-панель
### Как запустить проект:
Клонировать репозиторий и перейти в него в командной строке:
```
git clone
https://github.com/Grindelwaldoff/foodgram-project...```
Далее необходимо добавить файл переменных окружения с произвольными данными.
```
DB_ENGINE
DB_NAME
POSTGRES_USER
POSTGRES_PASSWORD
DB_HOST
DB_PORT
ALLOWED_HOSTS
SECRET_KEY
DEBUG
```
Далее запустить контейнер:
```
sudo docker-compose up -d
```
Провести миграции:
```
sudo docker-compose exec web python manage.py makemigrations
```
```
sudo docker-compose exec web python manage.py migrate
```
Создать суперпользователя:
```
sudo docker-compose exec web python manage.py createsuperuser
```
Сайт откроется по этой ссылке:
```
http://127.0.0.1/```
#### Технологии применяемые в проекте, или с которыми приходилось работать в процессе его реализации:
* Python 3.8
* Django 3.2
* PostgreSQL
* Linux
* Djoser
* NGINX
* Python-Dotenv
* Django-Filter
* Docker-Compose
* Django Rest Framework
### Разработчик:
Всеволод Рыбник tg: @Grindelwaldoff