Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Almaz-94/LMS_with_DRF

Repository files navigation

Бэкенд-часть SPA веб-приложения "Образовательная платформа"

Docker 27.1

  • Создать образ командой docker build -t my-docker-image .
  • Запустить контейнер командой docker run my-python-app

Docker 27.2

  • Собрать командой docker-compose build
  • Запустить командой docker-compose up

Бэкенд-часть SPA веб-приложения "Образовательная платформа"

Установка:

  • Убедитесь, что у вас установлен python 3.11 или более новая версия
  • Убедитесь, что у вас установлен PostgreSQL и запущен локальный сервер для базы данных
  • Убедитесь, что у вас установлен Redis и запущен redis-сервер
  • Клонировать репозиторий
  • Создать и активировать виртуальное окружениеpython -m venv ваша_папка_для_виртуального_окружения
  • Установить зависимости командой pip install -r requirements.txt
  • Создать вашу базу данных для работы с проектом CREATE DATABASE ваша_база_данных;
  • Создать миграции через python3 manage.py makemigrations и применить их python3 manage.py migrate
  • Открыть командную строку и запустить python3 manage.py runserver
  • Для запуска Celery открыть другой экземпляр командной строки и запустить celery -A config worker -l INFO
  • Для запуска django-celery-beat открыть другой экземпляр командной строки и запустить celery -A config beat -l INFO
  • В файле .env.sample заполнить данные для работы с проектом и переименовать его в .env

Используемые технологии:

  • DjangoRestFramework
  • Swagger/ReDoc host://swagger/ host://redoc/, работает авторизация по Bearer токену
  • Redis
  • Celery
  • Платёжная система Stripe
  • Пагинация для вывода списка курсов
  • DjangoFilters для фильтрации списка платежей

Логика работы системы:

  • Зарегистрировать пользователя /users/register/
  • Получить токен пользователя /users/token/
  • Создать курс, создать уроки в курсе
  • Можно создать подписку на другой курс
  • Так как у каждого курса можно указать стоимость - реализована работа с платёжной системой stripe

Права доступа:

  • Каждый пользователь имеет доступ только к своим курсам и урокам по механизму CRUD.
  • Подписка на курс позволяет отслеживать изменения курса(редактирование курса, редактирование урока в курсе или создание нового урока)
  • Модератор может видеть все курсы и уроки, может редактировать, но не может создавать или удалять их. Закрыт доступ к подпискам.

Эндпоинты:

  • Пользователи:
    • Создание пользователя
    • Просмотр деталей профиля
    • Редактирование профиля
    • Получение токена
    • Обновление токена
  • Курс:
    • Создание курса
    • Список курсов
    • Информация о курсе
    • Редактирование курса
    • Удаление курса
  • Урок:
    • Создание урока
    • Список уроков в курсе
    • Информация об уроке
    • Редактирование урока
    • Удаление урока
  • Подписка:
    • Создание подписки
    • Просмотр подписки
    • Удаление подписки
  • Платёж:
    • Список платежей
    • Создание платежа
    • Информация о платеже
    • Удаление платежа

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published