Skip to content

Backend for Individual development plan. Third place at Hackathon+. Task for Alfa-Bank

Notifications You must be signed in to change notification settings

hackathon-individual-development-plan/backend

Repository files navigation

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

Оглавление

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

О проекте

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

https://yahackathon.ddns.net/

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

Для просмотра возможностей разных ролей - сотрудника или руководителя - просто кликните по аватарке в правом верхнем углу.

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

Команда:

  • 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. Создайте токен для пользователя, имеющего роль руководителя или сотрудника.

Запущенный проект можно будет посмотреть по ссылке.

Авторизация происходит через HTTP заголовки. Чтобы войти в систему от имени пользователя с той или иной ролью, откройте в браузере "Инструменты разработчика", перейдите в раздел Application, а затем - в Local Storage. Введите ключ в поле "Имя"/”Key” и значение токена в поле "Значение"/”Value”, как описано ниже:

Key:

AlfaIprProjectToken

Value:

Token [вставьте token]

Замените "[вставьте token]" на фактическое значение токена, которое вы сгенерировали ранее. Например, "Value" может выглядеть, как: Token 08c8b74340e79ea26fbb73a9cc398c79fd36d77c.

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

Посмотреть документацию: Swagger

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

Запустите тесты в терминале из текущей папки 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

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

Оглавление

About

Backend for Individual development plan. Third place at Hackathon+. Task for Alfa-Bank

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published