Skip to content

A CRUD application developed as a personal project to upskill in ASP.NET Core and EF Core. It serves as an RPG API for managing characters, weapons, and skills within a game.

Notifications You must be signed in to change notification settings

Marvan-T/dotnet-rpg

Repository files navigation

Unit Tests

dotnet-rpg

This is a personal project that I've built to enhance my skills in ASP.NET Core following a Udemy course. The project is a role-playing game (RPG) API that provides endpoints for managing characters, weapons, and skills in the game.

Features

  • Character Management: The CharacterController provides endpoints for managing game characters.
  • Weapon and Skill Management: The WeaponController and SkillController provide endpoints for managing weapons and skills respectively.
  • Score Management: The ScoreController provides an endpoint for retrieving character scores.
  • Automated Tests: The project includes a suite of automated tests. Check out the dotnet-rpg.Tests directory for more details.
  • Authentication: The project uses JWT for authentication. Check out the AuthController for more details.

Learning Journey

I've learned a lot about ASP.NET Core, Entity Framework Core, and other related technologies building this. I've also learned about best practices in building APIs and writing clean, maintainable code.

While the core functionality of this project is based on the Udemy course, I've incorporated several enhancements based on my own insights and experiences:

  • Unit Tests: I've added unit tests following the best practices that I've adhered to in my previous projects.
  • Design Patterns: The project employs a few design patterns, including the Strategy and Specification patterns. While these might seem overkill for a project of this scale, they were implemented as a learning experience to understand their practical applications.
  • Architecture Design Records (ADRs): I've utilized ADRs to document a few key decisions made during the development process. You can find these in the ADR directory.
  • Repository Pattern: To abstract the data layer and ensure a clean separation of concerns, I've implemented the Repository pattern.

How to Run

To run this project, you need to have .NET 7.0 SDK installed on your machine. Once you have that, you can clone this repository and navigate to the dotnet-rpg directory. From there, you can run the following command in your terminal:

dotnet run

About

A CRUD application developed as a personal project to upskill in ASP.NET Core and EF Core. It serves as an RPG API for managing characters, weapons, and skills within a game.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages