Skip to content

Latest commit

 

History

History
36 lines (32 loc) · 4.43 KB

backend-step1.md

File metadata and controls

36 lines (32 loc) · 4.43 KB

Этап 1 Базовые АПИ

  • Настроить проект (Djnago, DRF и т.д.)
  • Завести необходимые роли (супперползователь, админ, региональный админ, наставник)
  • Админка для создания городов и событий
  • АПИ авторизации JWT токен
  • АПИ заглушка для главной страницы
  • АПИ городов (/api/v1/cites) список городов, текущий город пользователя, смена текущего пользователя
  • АПИ для получения событий календаря
  • АПИ подписаться - отписаться от события, контроль кол-ва доступных мест
  • Написание тестов - на усмотрение

Настроить проект

Завести репозиторий
Выбрать систему контроля пакетов (pip, poetry и т.д.)
Установить django и дополнительные пакеты для rest api
Внести необходимые изменения в settingd.py (разные конфиги для дев и прода)

Завести необходимые роли

  • Доступ к админке
    • Администратор (могут делать всё из списка)
    • Модератор "общий" (могут делать всё, кроме пунктов 0-3). Режим просмотра пользователей - на усмотрение, главное что бы не было возможности редактирования в воответствии со списком
    • Модератор "региональный" (могут видеть и редактировать только разделы "Календарь" и "Куда пойти", но только для своего региона)
  • Наставник - нет доступа к админке, но есть ЛК, может записываться на мероприятия и вести дневник. ЛК наставника будет делать команда фронта, мы делаем АПИ (список событий на которые записался наставник и т.д.) На 1 этапе необходимо реализовать только функции 0-3 из списка в соответстии с ролями. Куратора на 1 этапе не трогаем, для нас это не пользователь, а другая сущность Имя - Почта (куратор - это человек который работает с наставником, у него нет доступа к админке и ЛК). Выбор языка админки - на усмотрение.

АПИ авторизации JWT токен

Реализовать авторизацию для наставников с помощью JWT токена
АПИ получения профайла пользователя

АПИ для получения событий календаря

Только для авторизованных пользователей, по умолчанию события фильтруются по городу пользователя.
Надо реализовать АПИ получения, записи на событие (с проверкой доступных мест) и отмену записи.
Получение события для главной страницы.
Подробнее Контракт