Orbit

3. Architecture

3.1 High-Level Architecture

Orbit follows a high-level architecture with key components:

  • Laravel Framework
  • Database Schema
  • Integration with Pulse
  • Tournament System
  • Mock Casino API

Orbit itself is mainly an interface of the Pulse database. It connects to the pulse database and runs its own queries for obtaining data so that it can be rendered in views suitable for business management.

Architecture

Whilst Orbit started in this manner, it has since grown to provide a Tournament API to Pulse so that managers on the Orbit backoffice can create tournaments for supported games. The Tournament API works as follows:

Tournament API

Orbit handles some of its own data which is written to the same database under its own tables prefixed with orbit_. A list of these tables can be found within here.

The Mock Casino API itself is simply a fake integration between Pulse and Orbit where Orbit acts as an operator's casino API, handling balance and transactions as if a real player were playing. This is how games can be launched via Orbit, but is handled within Pulse and Orbit directly. There is no configuration available for this.

3.2 Code Organization

Orbit's codebase is organized with key directories and files following the Laravel framework's opinions. The application follows Model-View-Controller along with the Repository design patterns. The MVC pattern can be crafted through Laravel using Laravel's routing and controllers where views are compiled using Laravel's Blade Templating Engine. Models are defined within app/Models directory and repositories are defined within app/Repositories directory.

Previous
Prerequisites