Orbit

5. Functionality

Now that Orbit is up and running, explore its core functionalities:

5.1 User Management

  • Orbit has roles/permissions which are tied to Users of the platform. The users can be created in the admin dashboard, but can also be setup with a command php artisan make:user <username> <password>.
  • Users are related to Operators which are configured and handled automatically by Pulse, but are not automatically assigned to Users. An Operator can be assigned to users in the Admin dashboard of Orbit. It's important to understand that Users are only able to view/create data relating to Operators that they have access to.

5.2 Pulse Integration

  • Data Retrieval: Data is abstracted through the Repository Design Pattern inside Orbit's source code. The Repositories return the necessary data for Orbit to display Pulse data in a business oriented manner.
  • Data Display: The data is returned via the controllers as views which are fully documented in Laravel. The views are responsible for compiling the HTML.
  • API Endpoints:
    • Add Player: This API endpoint created a player within the players database table. It was created as a temporary workaround and although it's still required within Pulse and elsewhere, it should not be used for anything else and can be ignored.
    • InHouse API: These endpoints are specifically used for returning the fake implementation of an online casino for testing purposes.
    • Accessor API: This endpoint is used within the game launcher for returning redirects and meta data relating to specific game titles, mainly the tournament.
    • Activity API: This endpoint returns player activity for specific games and what not, it's the equivalent of the play result search but returned in JSON.
    • Bonus API: Deprecated. This is no longer used and was never fully implemented.
    • Game API: This endpoint is to return list of totals/financials for each game in JSON format.
    • Play API: This endpoint returns the specific gameplay data for a game result.
    • Player API: This endpoint returns the specific player data including their total staked, won etc... in JSON format.
    • Total API: This endpoint returns the financial totals for the specific tenant/operator.
    • Tournament API: The tournament API is an implementation of the tournament system which is implemented in the Tournament wallet within Pulse to interact with the Tournament Preset/Match system built inside Orbit.

5.3 Tournament System

  • Setup: The tournament system has 3 main concepts.
    • Presets
      • The preset system is used to create a tournament with specific details that can be reused on multiple occasions. As an example, you could create a "Christmas Tournament Preset" which can be scheduled every christmas.
    • Matches
      • A match is a scheduled preset. Matches use the information from the preset to create a live environment where a player can join/rebuy into the tournament on that specific occasion.
    • Scheduler
      • The scheduler is used to schedule presets into matches. It isn't heavily configurable and requires the user to schedule matches manually, but handles the underlying process of scheduling a match.
  • Management: Monitor and manage ongoing tournaments.
    • Managing a tournament is relatively straight forward. Each match has a whitelist, a blacklist and a free entries list. An operator can upload a list of player IDs to be exlcusively included or excluded from a specific match as well as provide a list of player IDs that are to be granted a free entry/rebuy.
    • An operator also has the ability to rectify balance issues and such through the Orbit dashboard for each match.
  • Results: View and record tournament results.
    • Tournament results exist per match and show the overall results of the tournament, however specific plays exist within the result of each gameplay element which can be filtered through the Orbit Activity Log.

5.4 Mock Casino API

  • Usage in Local Development: The mock casino API is used and implemented in Pulse specifically for in-house testing purposes. See Pulse documentation for more information.
Previous
Getting Started