Skip to content

This project is built following the Clean Architecture principles, which emphasize the separation of concerns and the decoupling of dependencies between the core business logic and external systems.

Notifications You must be signed in to change notification settings

SondosEmara/Clean-Architecture-Rest-API

Repository files navigation

University Project

Project Description

This project follows a layered architecture to structure different components of the system. Below is an overview of the layers and their roles:

1. University.Domain.Layer

  • Contains models and enums.
  • No database annotations are included here.

2. University.Infrastructure.Layer

  • Includes DbContext, external services, seeding mechanisms, and configuration.
  • Uses Fluent API for database models, annotations, and relationships.
  • Repository implementations (no interfaces) are defined here.
  • Contains extensions for Infrastructure Dependency Injection.

3. University.Application.Services

  • Holds services and repository interfaces.
  • Contains extensions for Services Dependency Injection.

4. University.Presentaion.Contracts

  • Implements the Mediator design pattern.
  • Handles request/response cycles.
  • Includes extensions for adding MediatR.
  • Call The Application Services
  • Handle Validtaions Od DTO (Command Or Query) Using FluentAPI
  • Handle MiddleWare Validation

5. University.Application.Api

  • The API layer that sends requests through the IMediator interface.

Design Pattern

  • Apply Generic Design Pattern
  • Apply Mediator Design Pattern

Principles

  • persistence ignorance principle

About

This project is built following the Clean Architecture principles, which emphasize the separation of concerns and the decoupling of dependencies between the core business logic and external systems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published