Skip to content

Lazarus-Phoenix/drf_project

Repository files navigation

Тема 34.2 Docker Compose

Домашняя работа к модулю 9


Запуск Docker Compose локально

введите в терминале :
docker compose up -d --build
Обязательно учитывайте что весь проект в т.ч. docker работают в окружении Poetry !!!

Результат работы:

dz_docker_compose.png


Структура контейнеров

✔ web
✔ db
✔ redis
✔ celery
✔ celery-beat

В проекте :

  1. Создан новый Django-проект, подключен DRF в настройках проекта.
  2. Созданы следующие модели: Пользователь: все поля от обычного пользователя, но авторизацию заменить на email; телефон; город; аватарка.
    Модель пользователя разместите в приложении users

•Курс: название, превью (картинка), описание.

•Урок: название, описание, превью (картинка), ссылка на видео.

  1. Описан CRUD для моделей курса и урока. Для реализации CRUD для курса использован Viewsets, а для урока - Generic-классы.
  2. Для модели курса добавлен в сериализатор поле вывода количества уроков.
  3. Описана новая модель для платежей в приложении "users"
  4. Добавлена фильтрация для списка платежей
  5. Реализован CRUD для пользователей, регистрация и JWT-авторизация.
  6. Создана группа модераторов с правами только на просмотр и изменение. Добавлен функционал проверки в контроллеры.
  7. Описаны права доступа для объектов. Если пользователь не входит в группу модераторов может видеть, редактировать и удалять только свои уроки и курсы.
  8. Реализованна дополнительная валидация ссылки на видео (разрешен толь доступ к youtube.com)
  9. Добавлена модель подписки на обновления курса для пользователя.
  10. Реализована пагинация для вывода всех уроков и курсов.
  11. Описаны тесты, которые будут проверять корректность работы CRUD уроков и функционал работы подписки на обновления курса.
  12. Подключена и произведена настройка вывода документации drf-yasg
  13. Подключена возможность оплаты курсов через сервис stripe
  14. Проект настроен для работы с Celery и Celery-beat
  15. Добавлена асинхронная задача рассылки писем об обновлении курса на который они подписаны
  16. Реализована фоновая задача которая деактивирует пользователя если он не неактивен в течении 30 дней. Screenshot 2025-04-01 at 20-17-51.png

About

learns

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published