Skip to content

sarah-sameh/GiveHub-API

Repository files navigation

Clean Architecture Project README

This repository contains a project built using the Clean Architecture pattern. Clean Architecture is an architectural approach that promotes separation of concerns and maintainability by structuring applications into distinct layers with well-defined responsibilities.

Overview

The project is structured into several layers, each with its own set of responsibilities:

  1. Domain Layer: Contains the core business logic and domain entities of the application. It is independent of any external frameworks or libraries.
  2. Application Layer: Implements use cases and orchestrates the flow of data between the domain layer and the infrastructure layer. It is responsible for business logic implementation and interacts with external systems via interfaces.
  3. Infrastructure Layer: Provides implementations for interacting with external systems such as databases, web services, or external APIs. It contains concrete implementations of repositories, data access objects, and other infrastructure concerns.
  4. Presentation Layer: Handles user interface logic and presentation concerns. This can include web controllers, API endpoints, or UI components in a desktop or mobile application.

Project Structure

clean-architecture-project/ │ ├── src/ │ ├── Domain/ │ ├── Application/ │ ├── Infrastructure/ │ └── Presentation/ ├── tests/ │ ├── UnitTests/ │ ├── IntegrationTests/ │ └── EndToEndTests/ ├── docs/ │ ├── ArchitectureDiagram/ │ └── APIReference/ └── README.md

Getting Started

  1. Clone the Repository: git clone https://github.com/ReemOsama30/Clean-Architecture-trial.git

  2. Install Dependencies: cd clean-architecture-project dotnet restore

  3. Build the Project: dotnet build

  4. Run the Application: dotnet run --project src/Presentation/Presentation.csproj

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published