Skip to content

ngdatdev/BookShop-Api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

📝 Description

This project is a modern web API for managing a bookstore, built with .NET 8 and adhering to clean architecture principles. While it primarily implements CRUD operations, it incorporates various design patterns and best practices to ensure a scalable and maintainable application architecture.

🏗 Architecture

This project follows Vertiacl Slide Architecture(organizes the code around features), with clear separation of concerns:

  • Domain Layer: Contains business entities and interfaces
  • Infrastructure Layer: Implements data access and external services
  • Application Layer: Contains business logic and use cases
  • Presentation Layer: API controllers
Architecture diagram

🚀 Key Features

  • RESTful API design
  • Advanced caching with Redis
  • Database persistence with PostgreSQL
  • Entity Framework Core for data access
  • CQRS with MediatR pattern
  • Unit testing and architecture testing (demo)
  • Distributed caching support
  • xUnit, AutoFixture and FluentAssertions for testing

🛠 Technologies & Tools

  • ASP.NET Web API (.NET 8)
  • PostgreSQL
  • Entity Framework Core
  • Redis Cache
  • xUnit/AutoFixture/FluentAssertions
  • PayOS
  • MailKit
  • ...