R50 1b5023afc88030b087d931acf9c179ae
Бэкенд разработка на Django

Foodgram Y.Praktikum

Добавлено 17 авг 2023 в 14:37
# 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

127ec9981c