- User*
- Player
- Team
- Match
- Dispute Message
*Auto generated by Laravel.
- Users
- Players
- Teams
- Matchups
- Assets
- Dispute Messages
Most data stored in the database tables will be accessible through an external API, meaning other processes/applications can request data. The "EOS-API" will accept GET requests for matches, teams and players – but not return any personal data such as full names or passwords etc. For all API endpoints, and API Token must be generated via the API Menu, this is a unique token that is used to verify API Requests.
All GET Requests can be accessed using the following endpoints:
Endpoint | Request Type | Description |
---|---|---|
/api/teams | GET | Returns an array of all teams and their data. |
/api/teams/{{team_id}} | GET | Returns details for a specific team. |
/api/matchups | GET | Returns an array of all matches and their data. |
/api/matchups/{{matchup_id}} | GET | Returns details for a specific match. |
/api/players | GET | Returns an array of all players and their data – but not their personal data. |
/api/players/{{player_id}} | GET | Returns details for a specific player – but not their personal data. |
I have created a variety of reusable Laravel Components that can be used across the entire application. See the list below for more details:
- ALERT, Usage:
<x-alert message="<<Your Alert Message>>" type="<<Bootstrap alert type e.g. danger>>" dismiss="<<If the alert can be dismissed e.g. 1 or 0>>"></x-alert>
- TEAM-CARD, Usage:
<x-team-card :team="<<team model>>"></x-team-card>
- MATCH-CARD, Usage:
<x-match-card :matchup="<<matchup model>>" verbose="<<Show Team Logs e.g. true or false>>"></x-match-card>
- PLAYER-DONUT, Usage:
<x-player-donut :player="$player" chartID="test1"></x-player-donut>
Value | Meaning |
---|---|
AWAITING RESULT | The match is either awaiting results, or hasn't started yet |
VERIFYING RESULT | The result has been submitted and is waiting for an admin to verify them |
RESULT DISPUTED | The result has been disputed by another player/team |
RESULT CONFIRMED | Submitted results have been verified by an admin |
MATCH CANCELLED | Match has been abandoned/cancelled by an admin |
"MATCH_X_EVIDENCE.PNG" (other extensions are allowed.)
To log actions in EsportOS, you can make use of the Laravel Logging system. There is currently a single logging file found here "storage/logs/eos.log". To log text to the file, simply use the following code:
Log::channel('general')->info('<<YOUR LOG TEXT HERE>>');
It's also required that you use the following Laravel package for the logging to work correctly:
use Illuminate\Support\Facades\Log;
In the future, EsportOS will have multiple logging channels, separated out for all database entities as well as general logging.
Testing for EsportsOS is done using PHPUnit. To run a test, simply type:
vendor/bin/phpunit --filter <<test_function_name>>
It is advised that you run tests individually, rather than all in a single command. Please ensure that you create a copy of the development database and rename it to 'fyp-testing' to ensure that your regular data is not overwritten/destroyed whilst running the unit tests.