Skip to content

A backend for a sports betting website

Notifications You must be signed in to change notification settings

appcoinsph/ultrabet

 
 

Repository files navigation

Introduction

This is a sports betting backend implemented in Kotlin and Spring Boot. It features a GraphQL API and a WebSocket subscription API.

This is a work in progress. It is not yet ready for production use yet.

This apps fetches live and pre-match odds from bets-api.com. Register with them using my referral link to support this project.

Demo

Demo betting frontend: https://www.parabolicbet.com/

The frontend codebase is in my ultrabet-ui repository

TODO

  • Set results to bets
  • pay out winnings
  • Add a 2nd application (gradle subproject) that contains a secured GraphQL API for placing bets and other actions that require authentication.
  • Map internal errors to GraphQL errors that show properly in the client
  • GraphQL subscriptions
  • Make it update market_option.last_updated_at
  • Entities (for JPA)
  • Repositories
  • Queries
  • Mutations
  • Import feeds from bets-api.com
  • Admin queries and mutations
  • Bet should have several MarketOptions (long bet)
  • Deploy somewhere
  • Pagination TBD when building the UI
  • add completedEvents query
  • scheduled update of completed events. Canceled events are now left non-completed.

Major work items

  • Live event visualization
  • Bet builder ala Bet365
  • Bet types
    • Right
    • Parlay
    • System
  • Multifeed
  • Back Office
    • Risk management (alerts, limits, etc)
    • Bet list with voiding
    • Player list?
  • Wallet integration
  • Multiple languages

Event import

  • add a 'source' field to the Market entity, to identify the bookmaker. Event.markets edge should be able to filter based on source.
  • import each event only once

Live events

  • Rename to parabolicbet.com
  • Live events polling should be more frequent than pre-match events
  • Should also request scores when live
  • Check completed field when polling scores. When completed -> set result and pay out winnings
  • Show all score updates on current score mouse hover
  • Add results page to show completed events

Frontend

Admin

  • limits
  • alerts
  • bet invalidations

Wallet integration

About

A backend for a sports betting website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 96.9%
  • Dockerfile 2.3%
  • Other 0.8%