Skip to content

C# 12 ASP.NET Core 8 RESTful Web API demonstrating key concepts such as endpoint design, unit tests, and user story implementation.

Notifications You must be signed in to change notification settings

danljuarez/cSharp-RestAPI-NetCore-TicketList

Repository files navigation

Project C# ASP.NET Core RESTful Web API

Author: Daniel Juarez

Project Overview

This project provides technical interviewers with a concise overview of core concepts in a CRUD-based C# ASP.NET Core RESTful Web API, built around a basic ticketing system and extended according to defined user stories. It demonstrates practical application of software engineering best practices.

Key features of the project:

  • Dependency Injection: Implements Dependency Injection to promote loose coupling and improve testability.
  • API Documentation: Utilizes Swagger to generate clear, concise documentation and improve the developer experience.
  • Adherence to C# Best Practices: Follows industry-standard C# coding conventions to ensure readability, maintainability, and scalability.
  • Clean Architecture Principles: The project is structured according to Clean Architecture to ensure separation of concerns and maintainable, scalable code.
  • Error Handling: Implements a structured exception hierarchy to enhance fault tolerance and streamline error management.
  • Extension Methods: Implements extension methods in C# to enhance existing types, promoting code flexibility and scalability.
  • Unit Testing: Uses MS Unit Test and Moq, with flexibility to integrate other C# testing frameworks, to facilitate TDD and promote comprehensive test coverage.
  • Azure Deployment: Follows Microsoft’s step-by-step guidance for deploying the project to Azure App Services.

If discussed during an interview, I will be available to explain any of these approaches in detail, discussing the rationale behind the design choices and their benefits in real-world application development.

Technical Specifications

  • Development Environment: Visual Studio 2022 Community Edition version 17.12.3
  • Framework: C# 12 with .NET 8 (Long-Term Support)
  • Database: Uses InMemoryDatabase for portability and demonstration purposes, with the option to replace it with a real database engine

Document Structure

This document is divided into four sections:

  1. Details: Project goals, model definition, and technical requirements.

  2. User Stories: Elaboration of the project's expectations and functional requirements.

  3. Running the Project Locally: Step-by-step guide on executing the project code.

  4. Deploying to Azure App Service: Provides information how to deploy this project to Azure App Services.


Thank you.

About

C# 12 ASP.NET Core 8 RESTful Web API demonstrating key concepts such as endpoint design, unit tests, and user story implementation.

Resources

Stars

Watchers

Forks

Languages