51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# Ticketing App Incremental Architecture
|
|
|
|
## Description
|
|
Ce projet a pour objectif de mettre en pratique les principes de la Clean Architecture ainsi que le développement d'une API avec .NET.
|
|
L'approche adoptée est incrémentale : chaque commit in*roduit un concept ou une brique fonctionnelle clairement identifiée.
|
|
|
|
## Fonctionnalités
|
|
- Création de tickets
|
|
- Mise à jour de tickets
|
|
- Fermeture de tickets
|
|
- Persistance des données
|
|
|
|
## Stack technique
|
|
- .NET (API)
|
|
- Entity Framework Core
|
|
- PostgreSQL
|
|
- Dependency Injection
|
|
|
|
## Architecture
|
|
Le projet est structuré en couches selon les principes de la Clean Architecture:
|
|
- Domain : Contient la logique métier (entités, rèle métier)
|
|
- Application : Contient les cas d'usage
|
|
- Infrastructure : Gère l'accès aux données (EF Core, PostgreSQL)
|
|
- API : Expose les endpoints et gère les requêtes HTTP
|
|
|
|
## Concepts appliqués
|
|
- Dependency Injection (réduction du couplage)
|
|
- Séparation des responsabilités
|
|
- DTO (Data transfer Objects)
|
|
|
|
## Installation
|
|
|
|
Mettre à jour la chaîne de connexion dans :
|
|
`appsettings.Developpement.json`
|
|
|
|
Puis exécuter :
|
|
|
|
```
|
|
dotnet restore
|
|
dotnet build
|
|
|
|
dotnet ef database update
|
|
dotnet run
|
|
```
|
|
|
|
## Améliorations possible (WIP)
|
|
- Ajout de tests unitaire complets
|
|
- Cicle de vie des ticket approfondit
|
|
- Documentation enrichie
|
|
- Dockerisation
|
|
- CI/CD |