This project is a back-end for the GameOn! project, done using ASP.NET on the .NET 9 framework, and will be running live on this site.
First, the project was built around the N-Layer architecture (you can find it in the archive/n-layer branch). Now, the project is using the Clean Architecture + CQRS design patterns, that suits better in this use case.
You can use the associated Dockerfile to build an image, or directly build it. Here are all of the environment variables currently used :
- DB_CONNECTION_STRING: MySQL connexion string.
- JWT_AUTHORITY: Token authority (used in the authentication middleware).
- JWT_AUDIENCE: Token audience (used in the authentication middleware).
- CURRENT_SEASON: Current season ID (used for FIFA/Soccer stats management).
- DEFAULT_PLATFORM: Default platform to be used (used for FIFA/Soccer stats management).
- RIOT_GAMES_ACCOUNT_API_ROUTE: Riot Games API route to be used for Account management (exemple: europe.api.riotgames.com).
- RIOT_GAMES_SUMMONER_API_ROUTE: Riot Games API route to be used for Summoner management (exemple: euw1.api.riotgames.com).
- RIOT_GAMES_API_KEY: Riot Games API Key (can be obtained via Riot's official developer website).
- MEDIATR_LICENSE_KEY: MediatR License Key (can be obtained via their official website).
- S3_ENDPOINT: Endpoint to S3 Bucket.
- S3_ACCESS_KEY: S3 Bucket Access key.
- S3_SECRET_KEY: S3 Bucket Secret key.
- S3_BUCKET_NAME: S3 Bucket Name.
- S3_PP_BASE_PATH: Base path to profile pictures in S3 bucket.
- S3_TP_BASE_PATH: Base path to tournament pictures in S3 bucket.
- DEFAULT_PROFILE_PIC: Default profile picture name.
If this repo is public, you can clone/fork my project and use it for your own website. Just credit me somewhere in your site, as a thanks for my work :)
You can contact me using my Portfolio, if you have some question about it. Have fun!