The automated booking application is designed to automatically book specific Gym classes as and when they become available.

It started life as a small scheduled Selenium script. However we had so much fun developing the application that it evolved into a fully automated secure solution that includes a responsive web front end that displays available classes and allows users to select classes to book.

The automated booking application has two key features -

  • Scans the website offering the service to be booked, and records all services that can potentially be booked, including booking date and time.
  • Runs a scheduled script to check for the availability of the services the client has requested, and books them if and when they become available.

The UI allows users to -

  • Securely login
  • View all services that can be scheduled to be booked
  • View all services that the user has scheduled to book
  • Add a service to book
  • Remove a service from the booking schedule
  • Add specific date exclusions to ensure that a the automated booking service doesn't book for specific dates that the user does not require

The application runs on an Openshift Tomcat/MySQL gear,

The technical architecture is as follows -

  • Web UI: Responsive front end with Spring MVC back-end.
  • Services: REST/Json interface using the Spring framework.
  • ORM: Hibernate JPA
  • Database: MySQL
  • Build management: Maven
  • Unit tests: JUnit/Hamcrest/Mockito/Spring test framework
  • Integration tests: Cucumber/H2 embedded database.
  • CI build server: Travis CI

Each build produces a number of artefacts -

  • A Cucumber report - CLICK HERE for latest report
  • Code quality is measured by Sonar - CLICK HERE for latest report

The application can be found here but is secured using basic authentication. The Cucumber report contains screenshots which illustrate the web UI capabilities.

 

Add comment


Security code
Refresh