.Net 7 RPG


Started Production October 2023
Finished Production October 2023

Github Repo


As my first foray into .Net as a coding system, I believe this was quite effective in showing off the basics of what .Net 7 can do and what all I still need to focus in on, including moving from using HTTP to HTTPS for better security. Also the need to have a more user friendly GUI is a project for later, as the Swagger UI that is setup does the job well and I'm not currently planning on extending my skill set into front-end web development.

For a brief explanation of this project, its is a text based RPG auto-battler, without much in the way of limitations. The major limiter is making an account within the self-hosted database, logging in with said account and confirming the token to authorize your account for the follow features. Once logged in and authorized, the user is able to modify any characters that fall under their account's purview, which only includes the characters that account has made. Following the character editing commands, which include skills and weapon additions, there are the multiple variants of fight commands. Two of the four commands require an authorized user to activate, as they are set fights between two characters under that user, where as the other two are a battle royal of every character in the database at once until one character is slain, and a function to get the statistics of all characters in the database.

For a bit more in-depth, this project is made using the .Net 7 style for different classes and connectivity, which include the controller classes that are what the user can interact with on the Swagger UI, the data transfer object classes that hold the variants of data sets that are then used in the services classes to actually affect the passed through data. These service classes are again broken down into classes and interfaces, which the interface is the thing called by the controller class through the Swagger UI, to give proper separation from what the user interacts with to where the actual commands are managed.

As the first .Net project I've done, it was honestly quite interesting being able to go through it step by step and see the Swagger UI come to life with each additional set of classes made and linked up. Alongside the enjoyment of visual responses to what I was building, I felt that the requirements that .Net brings along with it were fairly simple to connect with the knowledge of C# I already had. I can honestly say I had more issues with my code editor than I did with the coding itself. All in all, I will be doing more of these builds, polishing up my skills for .Net 7 for potential work in the future.