ХАКАТОН+. Задача Альфа-Банка. Команда 11. Backend

Оглавление

  1. О проекте
  2. Авторы проекта
  3. Архив с кодом репозитория и скриншотами
  4. Документация
  5. Стек технологий
  6. Установка зависимостей
  7. Настройка
  8. Запуск
  9. Наполнение БД
  10. Тесты и покрытие
  11. Frontend

О проекте

MVP индивидуального плана развития для сотрудников в Альфа-Банке.

https://yahackathon.ddns.net/

Мы создали продукт, который должен работать внутри приложения Alfa People. Поэтому явная авторизация в системе не предусмотрена. Однако, чтобы проверить работу системы, можно авторизоваться через headers.

Для работы на сайте под разными ролями вам потребуются токены, которые следует прописать в инструментах разработчика->Application->Local Storage, ввести ключ для токена в поле "Имя"/”Key” и значение токена в поле "Значение"/”Value”:

Key:

AlfaIprProjectToken

для просмотра в режиме Руководитель:

Value:

Token 08c8b74340e79ea26fbb73a9cc398c79fd36d77c

для просмотра в режиме Сотрудник:

Value:

Token ac83a1374ee39b726829e34d49ce15138704b737

Нажать Enter или кликнуть где-то вне поля, чтобы сохранить введенные данные и обновить страницу.

Авторы проекта

Команда:

  • Product manager

    • Никитин Валентин
  • Project manager

    • Кутицкий Владислав
  • Business analytics

    • Щетинина Наталья
    • Михненко Елена
  • System analytics

    • Богатков Павел
    • Бибикова Вера
  • Designers

    • Викулов Юрий
    • Конева Татьяна
    • Перадзе Мария
  • Frontend

  • Backend

    • Ротбардт Ольга
      • настройка CI/CD, деплой проекта на сервер
      • проверка миграций и тестирования на GitHub
      • создание приложения users
      • обработка эндпоинтов (пользователи)
      • тестирование
    • Дунаева Клавдия
      • настройка pre-commit
      • автогенерация документации
      • автоматическое наполнение БД тестовыми данными
      • создание приложения idps
      • обработка эндпоинтов (ИПР)
      • настройка админки
      • тестирование
    • Ковалев Никита
      • авторизация
      • тестирование
    • Лашков Павел
      • тестирование

Архив с кодом репозитория и скриншотами

ЯндексДиск

Документация

Документация сгенерирована автоматически при помощи drf-spectacular.

Swagger

Redoc

Стек технологий

Python Django Django REST Framework PostgreSQL Docker Nginx drf-spectacular GitHub GitHub Actions

Установка зависимостей для полного разворачивания проекта локально

Данная сборка включает в себя фронтенд и бэкенд.

  1. Склонируйте репозиторий:
  git clone git@github.com:hackathon-individual-development-plan/backend.git
  cd backend
  1. Перейдите в infra и создайте .env.compose файл:
  cd infra
  touch .env.compose
  1. Заполните по примеру своими значениями: скопируйте этот файл

Запуск

Запустите контейнеры с проектом следующей командой:

  docker compose up -d

Наполнение БД

Наполните БД тестовыми данными:

  docker compose exec backend python manage.py fill_db

После этого зайдите в админку с помощью DJANGO_SUPERUSER_USERNAME и DJANGO_SUPERUSER_PASSWORD, которые вы заполнили в файле .env.compose, и создайте токен для руководителя или сотрудника.

Запущенный проект можно будет посмотреть по ссылке. Вставьте токен в инструментах разработчика, как описано выше. Будет предоставлена информация о текущем пользователе, в том числе его аватар, а также доступны права, соответствующие его роли.

Тесты и покрытие

Запустите тесты в терминале из текущей папки infra:

  docker compose exec backend python manage.py test

или

  docker compose exec backend coverage run manage.py test
  docker compose exec backend coverage report

Покрытие составляет 97 процентов.

Процент покрытия

Frontend

Ссылка на репозиторий

Оглавление