This project was designed to refamiliarize myself with ASP.NET development given that I've used it only once before on a project during my time in university. In addition, web applications development is also a very useful skill to have.
This project aims to allow users to choose a game from the game database or submit their own if it does not exist. These games can be card games, sports or even videogames. After a user submits a game, they can tally their scores in said game by manually updating their account each time they play a match of that game.
ScoreStore will not only track the win/loss ratio and match history but also provide visuals in the form of graphs to help the user better understand their recent performances.
Much like most applications built on ASP.NET, ScoreStore runs in the browser and acts like any typical website. Without any account registered, there is not much a user can do. However, registration is easy to do either through a local account or a social login such as Google. Once registered, users may:
submit any game to the global game database
attach image cover arts to each game
add a score for any game they've saved
increment their wins if the player marks a win
increment their losses if the player specifies a loss
mark who in their friend list was the winner
graphically observe their performances via:
win/loss ratio
play count per game
total wins per game
complete win/loss history
win/loss streaks
add other users as friends
view the overall performance of any friend across their own games
compare stats against a friend for games that are shared
The source code can be viewed on GitHub.
A live production demo for users to try is hosted on Heroku Railway.
As of 06/08/2023, Railway announced they will be discontinuing the free tier of its service that ScoreStore was originally using after Heroku. As a result, ScoreStore is currently not being hosted in any kind of live environment.
As of 08/25/2022, Heroku announced an end to all of its free hosting services that ScoreStore was originally using. As a result, I have migrated the live environment to Railway. Please note, Railway's free service has a monthly limit of 500 hours, and so the live environment may be unavailable at times.
C# for program and controller logic
HTML/CSS for view layouts
Bootstrap 4 for additional CSS support
JavaScript for webpage logic
ASP.NET for applicaiton development and MVC design
Google Charts for rendering charts
Google Sign-In for social login
SendGrid for mail server
Visual Studio 2019 development environment
Heroku for free hobby-tier app and database hosting
Railway for free starter-tier app and database hosting
PostgreSQL integration for database (default MS SQL not supported by Heroku or Railway)
jincod/dotnetcore-buildpack for dotnet deployment in Heroku
Docker dockerfile for dotnet deployment in Railway