Enterprise

SPA-приложение для администрирования системы ставок по Мартингейлу

Задача: создать веб-приложение для управления и контроля системы ставок на спорт по Мартингейлу с реалтайм функционалом
SPA-приложение для администрирования системы ставок по Мартингейлу

Tools are being used in this project

LARAVEL

Использовался для создания RestAPI в качестве бэкэнда

REACT+REDUX

Приложение выполнено в виде SPA

NodeJS

Использовался для реалтайм уведомлений и другой информации через сокеты

WebSockets

Использовалось через SocketIO

Bootstrap

Верстка на основе Bootstrap

Gallery

Few words about the project

Довольно типичное веб-приложение, которое содержит в себе классический стек.

Согласно ТЗ, группа пользователей имеет до 8 аккаунтов в букмекерских конторах. С этих аккаунтов делаются ставки. Ставки группируются в серии. При этом необходимо следить, чтобы в одной серии не попадались ставки с одного аккаунта. Кроме этого, коэффициент и сумма ставки каждого последующего матча рассчитываются по заданным показателям доходности.

Запутанно? На деле так же. Суть и задача приложения в том, чтобы сделать процесс простым и полностью контролируемым. В итоге работы приложения пользователю остается минимум умственных усилий и все сводится к механической работе и выполнении рекомендаций приложения.

Пользователи находятся удаленно, поэтому для контроля ситуации критически важно иметь реалтайм. Он реализован через NodeJS и SocketIO. Если Node-сервер по какой-то причине лег, то приложение продолжит работать в штатном режиме, но без реалтайма.

Приложение может показаться примитивным, но выстроена аккуратная структура и рабочий процесс, который потребовал усилий. Например, вот так выглядит подключение пользователя к новой букмекерской конторе и пополнение баланса:

Подключение новой БК и пополнение баланса

При этом все действия всех пользователей логируются в ленту слева, которую видят все пользователи. А вот так выглядит обыкновенный рабочий процесс:

Рабочий процесс пользователя

Все поля ввода данных валидируются и не позволят пользователю накосячить. Например, кнопка завершения матча имеет "предохранитель" и открывается после дополнительного клика:

"Предохранитель" для завершения матча

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

Вспомогательный калькулятор