Project 3:

About the app...

Bet Bucket is an app for the discerning gambler, that enjoys accumulator betting.

The aim of the app is to:

  1. Enable users to search for gambling odds on Betfair
  2. Create an Accumulator 'bucket' to store bets
  3. Obtain real-time data on the movement of the odds on each stake to identify and monitor the bets progress and potential payout.

Future Enhancements...

With a little additional time, here are some of the future improvements I would like to make to BetBucket:

  1. Enable bets to be placed directly within the Users BetFair account.
  2. Improve the UI to remove some ambiguity on the user journey.
  3. Enable alerts based on user created parameters.
  4. Add search functionality for events, as the Betfair API is very comprehensive but finding a specific event is not intuitive

Technologies used:

AngularJS
NodeJS
MongoDB
Bootstrap
Betfair API
chart.JS

Welcome Page

Wins

Navigating the Betfair API was very time-consuming so working out that the session token could be stored as a global variable to be sent with the API requests was a huge win.

It also took some time to identify the correct filters and data sets to make the data meaningful to a user. Finding the correct fields was very time consuming and a huge breakthrough for the success and viability of the app.

Introducing Chart.JS which was key to giving the website its highly visual styling and coupled with clean and visually contrasting styling, gave the site its professional appearance.

Behind the Scenes...

This is a full stack application which utilises RESTful routing and authentication.

Betfair API

Session tokens had to be stored as a global variable to enable access to the API, as it was required with every request, which refreshed every few seconds.

Charts

While quite complicated behind the scenes, the app itself is simple, and we wanted to introduce strong visuals. Chart.JS was used to chart the real time change in odds and subsequent impact on possible winnings.

MongoDB

MongoDB was the database of choice. The database stored all user and account data.

Nice Touches...

Chart.js

The home page has a chart behind it to imitate the changing values of a mock accumulator account. Pre-set values provide the animation.

Simplicity

There are a minimal number of views for the user to navigate. A simple home page with instructions and then the users account page from where all stakes are added and managed.

No odds available

In order to make the data more user-friendly, where there were events with no odds available, there was simply no data, which would have been mis-leading to the user. A condition was set to make this more obvious to the user, stating 'no odds available', if the data field was empty.

Add an event

Select a category, select an event, then add to the current accumulator

Real-time Accumulator updates

This is an extract of the accumulator movements during the live finals of ITV's "The Voice".

Balsamiq - wireframing

Wire-framing was important, as it helped to focus the team on the final layout of the app, removing ambiguity.

Trello - task management

Task completion was reviewed at least twice a day and ensured the project was completed on time.

Bet_Bucket_app

Vist App

Github

Front-end

README

Read-me