Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
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