Skip to content

LifeLaboratory/rosbank2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rosbank_backend

Хакатон Росбанк 2019 https://techmadness.ru/

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

  • Python - используется в качестве прослойки между пользовательскими представлениями и базой данных.
    • В качестве веб-фреймворка используется Flask-restful.
    • Архитектура бизнес-логики строится по принципу MVC.
  • Postgresql - основные блоки бизнес-логики на SQL.
  • Java - используется для реализации Android приложения и Backend пользовательского портала:
    • lombok - библиотека для Java, позволяющая на основе аннотаций реализовать генерацию кода.
    • Retrofit2 - библиотека для реализации сетевого взаимодействия.
    • Vert.x - библиотека для реактивных backend приложений на JVM-языках.
    • Picasso - библиотека для работы с изображениями.
    • RxJava - реализация реактивных запросов между клиентов и сервером.
  • JavaScript - реализация Frontend:
    • AngularJS - основная библиотека для реализации Frontend.
    • AngularJS Material - библиотека JavaScript для реализации элементов интерфейса.

Список задач

https://github.com/LifeLaboratory/rosbank2019/issues

Сборка backend

docker-compose build
docker-compose up

Сборка и запуск frontend

gradle build
gradle run

Сборка и получение apk файла для Android

gradle assemble

или используя Android Studio с SDK >= 21

Реализованный функционал

  • Авторизация пользователей. Пользователи делятся на 2 типа. Администраторы и клиенты.
  • Система ролей клиентов. Роль определяет то, каким классом сервисов банка чаще всего пользуется клиент.
    • Система ролей динамична и меняется в случае, если пользовательская роль начинает изменяться в сторону других продуктов банка.
  • Система Сторис и туториалов.
    • Со стороны клиента, это отображение сторис и возможность обратной связи в виде лайков и дизлайков после просмотра сторис. Сторис формируется администраторами банка и публикуется для тех типов пользователей, которым предлагаемый функционал будет более актуален.
    • Туториалы служат обучением пользователя функционалу, используемого в веб приложение, но появившемуся и в мобильном приложение, которым клиент чаще пользуется. Со стороны клиента это последовательность действий, которые выделяются и объясняются, чтобы клиент легко и быстро смог начать пользоваться новым сервисом.
    • Для администраторов предоставляется простой и удобный способ формирования обучающих сторис и туториалов. Для формирование туториалов существует конструктор, в котором администратор выбирает какие блоки, в каком порядке должны быть подсвечены и какой текст будет выведен.
  • Списки сервисов банка и наличие их в веб и мобильной платформах. Позволяет отслеживать, каким функционалом может пользоваться клиент. Отслеживать тренды использования тех или иных сервисов. Уведомление пользователей о том, что весь необходимый им функционал имеется в мобильной версии приложения.
  • На странице со сторис и туториалами администраторы могут публиковать уведомления. Публикация происходит на выбранные администратором роли.
    • Предусмотрен функционал "рукопожатий". Когда сервис уведомлений отслеживает прогресс изучения обучаещего материала клиентом, разделяя его на этапы "Открытие" и "Просмотр".
      • Если клиент открыл уведомление и не стал досматривать до конца, тогда сервис уведомления через некоторое время проверит, продолжает ли клиент пользоваться функционалом банка на другой платформе, отличной от его постоянной. После этого, сервис уведомлений примет решение, нужно ли показать уведомление со сториз или туториалом еще раз.
      • Если клиент досмотрел сторис или туториал, тогда клиенту будет предложено оценить полезность контента. После этого, это уведомление может попасть еще раз к пользователю, если администратор банка решит повторить рассылку.
    • Когда происходит выпуск нового функционала, происходит уведомление всех администраторов о том, что необходимо создать обучающий контенкт и опубликовать его для клиентов.

Сontributors