Онлайн букмекерская контора со ставками на поединки покемонов
Букмекерская контора - веб-приложение, в котором пользователи могут
- пополнять баланс (фантиками)
- смотреть список доступных турниров, матчей в них.
- выбрать матч и сделать ставку на команду/игрока (коэффициенты на победу разные, кто-то слабее, кто-то сильнее).
- просматривать историю своих ставок
- получать выплату с выигрышных ставок, или не получать с проигрышных
Имеются турниры, в каждом турнире есть несколько матчей.
Для каждого матча в букмекерской конторе присутствуют коэффициенты, которые определяются на основе ожидаемых шансов на победу для каждого покемона. По умолчанию у каждого матча имеется два исхода: Победа Первого, Победа Второго.
Пользователи могут делать различные виды ставок: Одиночные ставки на один конкретный матч или событие. Экспресс-ставки, где пользователь выбирает несколько событий, и для выигрыша нужно, чтобы все выбранные события завершились успешно. Коэффициенты всех событий перемножаются.
Результаты событий, на которые пользователи делали ставки, не устанавливаются автоматически. Модераторы букмекерской конторы имеют доступ к установлению результатов и закрытию ставок.
Пользователь: Зарегистрированные пользователи имеют доступ к функциям букмекерской конторы, таким как просмотр списка матчей, совершение ставок и просмотр истории ставок. Они также могут пополнять баланс. Модератор: Модераторы назначаются администраторами и имеют возможность устанавливать результаты событий, закрывать ставки. Администратор: Администраторы имеют доступ к управлению букмекерской конторой. Они могут назначать модераторов, добавлять вручную матчи, удалять пользователей и решать другие административные задачи.
Используется система регистрации и аутентификации. Роли (Администратор и Модератор) устанавливаются через запрос к БД. По умолчанию все зарегистрированные имеют роль Пользователь.
Каждый пользователь имеет баланс, который можно пополнять с помощью фантиков. Вместо реальной платежной системы Пользователь просто нажимает на кнопку, по которой ему выдается 1000 фантиков. Баланс используется для совершения ставок, и выигрыши или проигрыши отображаются на балансе пользователя.
Пользователи могут просматривать историю своих ставок и финансовых операций, включая пополнения баланса и выплаты выигрышей.
Пользователь перешел на сайт, зарегистрировался, попал на главную страницу сайта. Пользователь заходит в личный кабинет, чтобы пополнить баланс (нажать на кнопку, баланс пополнится на 1000 фантиков) Пользователь заходит в список матчей. Ищет понравившиеся соревнования. Пользователь выбирает матч, выбирает покемона, на которого хочет сделать ставку. Выбирает сумму ставки и делает её. Модератор (уже залогинен) заходит в специальную Модер-Панель, в которой видит все текущие матчи (которые начались и ещё не были закрыты). Выбирает матч, который кончился. Проставляет ему нужный итог, закрывает матч. Пользователь заходит в историю ставок, видит, что его ставка – выигрышная. Видит сумму ставки, сколько выиграл, с каким итогом закончился матч. Пользователь заходит в личный кабинет, видит, что на его балансе сумма увеличилась.
Администратор (уже залогинен) заходит в специальную Админ-Панель, в которой может добавлять матчи. Начинает добавление матча, необходимо выбрать:
- Турнир, в котором проводится матч
- Двух Покемонов, которые участвуют в этом матче
- Коэффициенты на победу каждого из покемонов
- Время начала матча Администратор выбирает все эти поля, добавил матч. Пользователи теперь могут увидеть этот матч в странице матчей и сделать на него ставку.
Spring boot application stack:
- spring boot
- spring web
- spring data
- spring security
- postgresql
React application stack:
- vue
- bootstrap
- vuex
- vue-clie-service
- npm
