VTB Benefits корпоративный веб-сервис, позволяющий увеличить вовлеченность сотрудников в рабочий процесс, внести в него игровой элемент и повысить мотивационные метрики.
- Ruby
- Rails
- JS/TS
- React
- Redux
git clone --recursive git@gitlab.com:vtb-benefits/vtb-benefits.git
cd vtb-benefits
docker-compose build # Сборка контейнеров приложения
docker-compose run --rm backend rails db:create db:migrate db:seed # создание таблицы, выполнение миграций и сидов
docker-compose up # Старт приложения
Затем необходимо перейти на localhost
и проверить работу приложения
- BLOCKCHAIN_URL - url для blockchain ВТБ
- BLOCKCHAIN_TEST_PUBLIC_KEY - тестовый публичный ключ
- BLOCKCHAIN_TEST_PRIVATE_KEY - тестовый приватный ключ
- DEVISE_JWT_SECRET_KEY - секрет для jwt токена
- SKIP_STORAGE - пропустить запись в storage
- STORAGE_PATH - путь до storage
docker-compose build
docker-compose run --rm backend bash
rails db:test:prepare
rake spec
exit
Приложение реализует API для общения с фронтэндом и служит прослойкой между API блокчейна ВТБ.
В папке app
содержится:
- реализация эндпоинтов на базе Grape API фреймворка
- сервисные объекты (
app/services
) - хэлперы для авторизации.
Общение с БД построенно скозь ORM ActiveRecord, модели которой лежат в папке app/models
Схема БД, сиды и миграции расположены в папке db
- EventCostPredictionSerivce - сервис предикта стоимости мероприятия, ориентированный на баланс пользователей с заранее определенным спредом
- NftGenerationService - сервис генерации NFT-сертификата и создания к нему коллекции
- NftTransferService - сервис трансфера сертификатов между сотрудниками
Монолитный фронтэнд, использующий компоненты на базе material_ui. Стэк гибкий, позволяет легко перекоординироваться в разных ситуациях, повсеместно используется
Верстка компонентов модального окна "Блочная" структура фронтэнда