- Создать образ командой
docker build -t my-docker-image . - Запустить контейнер командой
docker run my-python-app
- Собрать командой
docker-compose build - Запустить командой
docker-compose up
- Убедитесь, что у вас установлен 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.
- Подписка на курс позволяет отслеживать изменения курса(редактирование курса, редактирование урока в курсе или создание нового урока)
- Модератор может видеть все курсы и уроки, может редактировать, но не может создавать или удалять их. Закрыт доступ к подпискам.
- Пользователи:
- Создание пользователя
- Просмотр деталей профиля
- Редактирование профиля
- Получение токена
- Обновление токена
- Курс:
- Создание курса
- Список курсов
- Информация о курсе
- Редактирование курса
- Удаление курса
- Урок:
- Создание урока
- Список уроков в курсе
- Информация об уроке
- Редактирование урока
- Удаление урока
- Подписка:
- Создание подписки
- Просмотр подписки
- Удаление подписки
- Платёж:
- Список платежей
- Создание платежа
- Информация о платеже
- Удаление платежа