The aim of the application is to enable users to place bets on EURO tournamet games. The application tracks users' active bets, store their betting history, and calculate the points they have accumulated.
The application was created in less than a week due to the time pressure of launching before the Euro started. It is not a perfect product - its code and architrecture might have flaws, and it may lack extensive testing - BUT it works and is functional. :)
- User registration and login
- Display upcoming EURO tournament games
- Allow users to place bets on upcoming games
- User can only bet a game that has not started yet
- Once a game begins, it is possible to see the bets placed by other players
- Assign points based on the accuracy of users' bets
- Points system based on predefined rules - exact score match earns 5 points, correct goal difference earns 3 points, and predicting the winner earns 2 points
- Users can access their and another player's history to see past bets and results
- Users view their current points and ranking
- Leaderboard displays top users based on points earned
The application is written in .NET C# and is ASP.NET Blazor Web Application with SignalR and WebSockets connections. SQL Server is used for persisent storage, and EF Core as ORM library. MudBlazor has been selected as the Blazor UI component framework. ASP.NET Core Identity is used for user authentication and authorization.
The application is currently hosted on the Azure cloud and uses Azure SQL Database in production.