Giter VIP home page Giter VIP logo

mini-portfolio-web-api's Introduction

Project Name: Mini Portfolio Web API

Introduction

This repository contains a .NET Web API project designed as a mini portfolio to showcase the implementation of clean code and a clean architecture approach. The project is structured into five layers, ensuring separation of concerns and scalability.

Architecture Layers

  • Presentation Layer: The user interface of the application. This layer is responsible for handling HTTP requests and responses.
  • Infrastructure Layer: Manages data access and external resources like databases, file systems, and network services.
  • Application Layer: Contains business logic and application services. It acts as a mediator between the presentation and domain layers.
  • Domain Layer: The core layer where business models and entities are defined.
  • Common Layer: Provides shared utilities and resources across the application.

Design Patterns

  • Generic Repository: Abstracts the data layer to provide a reusable interface for accessing data sources.
  • Specification Design Pattern (DP): Enables business rules to be encapsulated in a flexible way.
  • Unit of Work: Maintains a list of domain actions and commits them as a single transaction.
  • there is more, Feel free to take a tour and discover the code.

Features

  • Global Error Handling: Ensures that all unhandled exceptions are caught and handled gracefully.
  • Localization: Supports multiple languages and cultures, making the application globally accessible.

Getting Started

To get started with this project, clone the repository and open it in your preferred .NET development environment.

Prerequisites

  • .NET SDK
  • Any relational database (e.g., SQL Server, PostgreSQL)

Build and Run

To build and run the project, use the following commands:

dotnet restore
dotnet build
dotnet run

mini-portfolio-web-api's People

Contributors

abdelrahman-hussen avatar a-mansor avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.