Хакатон+. Задача от Альфа Банка.

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

Общие возможности приложения:

Руководитель может просматривать список сотрудников, добавлять индивидуальные планы развития сотрудникам. К каждому ИПР можно добавить задачи, к каждой задаче могут оставить свои комментарии руководитель и сотрудник.


Использованные технологии.

Python Django DjangoREST Gunicorn Nginx


Установка.

  1. Клонируйте репозиторий:

    git clone https://github.com/hackathon-Alfa-Team-2/alpha-bank-backend.git
    cd alpha-bank-backend
    
  2. Создайте файл .env по примеру .env.example в папке config и заполните его.

    #Django
    DJANGO_SECRET_KEY=''
    ALLOWED_HOSTS=localhost,127.0.0.1
    CSRF_TRUSTED_ORIGINS=http://example.net/,https://example.net/
    
    # Postgres
    DB_ENGINE='django.db.backends.postgresql_psycopg2'
    POSTGRES_DB='postgres'
    POSTGRES_USER='postgres'
    POSTGRES_PASSWORD='exaple-password'
    DB_HOST=db
    DB_PORT=5432
    
    # Celery & redis
    CELERY_BROKER_REDIS_URL="redis://redis:6379/1"
    
    # Swagger docs
    BASE_REQUEST_URL=http://127.0.0.1:8000
    
    # Для автоматического создания суперпользователя
    SUPERUSER_USERNAME='superuser-username'
    SUPERUSER_PASSWORD='superuser-password'
    

    *DJANGO_SECRET_KEY можно сгенерировать таким способом:

     python manage.py shell
     from django.core.management import utils
     utils.get_random_secret_key()
    
  3. Из корневой дирректории выполните следующие комманды:

    cd .docker
    docker compose up -d
    
  4. Загрузите тестовые данные в базу командой:

    docker compose exec backend python manage.py loadmockdata
    
  5. Для доступа в админ панель используйте SUPERUSER_USERNAME и SUPERUSER_PASSWORD из .env файла.


Тестирование.

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

Данные тестовых пользователей:

Роль email password
Supervisor supervisor1@ya.ru Supervisor1
Supervisor supervisor2@ya.ru Supervisor2
employee user3sv1@ya.ru User3
employee user4sv1@ya.ru User4
employee user5sv2@ya.ru User5
employee user6sv1@ya.ru User6

Наша команда разработчиков:

Андрей Догадкин GitHub 🛒

Андрей Пасков GitHub 🛒

Владимир Шевченко GitHub 🛒

Максим Коркин GitHub