Skip to content

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

Notifications You must be signed in to change notification settings

pashpiter/Hackathon_Alfa_task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Development

image image image image image image image image image

Репозиторий с исходным кодом: https://github.com/pashpiter/Hackathon_Alfa_task/
Проект запущен по адресу: http://51.250.6.208/


В базе данных создано два пользователя

Руководитель: Андреев Андрей Андреевич, токен: 1234567890abcdefghijklmnopqrstuvwxyz

Сотрудник: Иванов Иван Иванович, токен: 0987654321zyxwvutsrqponmlkjihgfedcba


Спецификация проекта:

  • для построения REST API используется фреймворк FastAPI
  • в качестве хранилища данных проекта используется СУБД PostgreSQL
  • раздачей статики и проксированием http-запросов занимается web-сервер nginx
  • в качестве упрощённого механизма авторизации используется проверка Bearer-токенов. Токены статически хранятся в БД, выдача токенов не предусмотрена

Энодпоинты API:

Подробная информация об эндпоинтах содержится в репозитарии в архиве docs/endpoints.zip


Как запустить проект локально:

  • Склонируйте репозитарий:
git clone git@github.com:pashpiter/Hackathon_Alfa_task.git
  • Установите Docker согласно инструкции с официального сайта: https://docs.docker.com/
  • В папке infra создайте папку env с файлами переменных окружения (в качестве примера можно взять папку env.example):
# env/general

# Server
SERVER_HOST=127.0.0.1
SERVER_PORT=80

# Versions
POSTGRES_VERSION=15
NGINX_VERSION=1.23.3

# Hosts
POSTGRES_HOST=postgres
NGINX_HOST=nginx
FASTAPI_HOST=fastapi

# Ports
POSTGRES_PORT=5432
FASTAPI_PORT=8001
# env/postgres

POSTGRES_DB=database
POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_SCHEMA=plans
# env/fastapi

APP_NAME="ИПР для сотрудников Альфа-Банка"
DEBUG=False

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

make up             - запуск сервиса
make down           - остановка сервиса
make down-volumes   - остановка сервиса с удалением всех данных

Как наполнить базу:

  • Зайдите в контейнер fastapi:
cd infra
sudo docker compose --file=docker-compose.yaml --env-file=env/general exec fastapi bash
  • Залейте дамп в базу данных:
cd db
python fill_table_users.py

Openapi документация доступна по адресам:

  • Swagger: http://<ip адрес сервера>/api/v1/openapi
  • ReDoc: http://<ip адрес сервера>/api/v1/redoc

Разработчики:

Павел Дровнин - Тимлид

Александр Бондаренко - Разработчик

Денис Заборовский - Разработчик

Иван Павлов - Разработчик

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages