🚀 Mini projet : une API REST en C# pour gérer des objets métier
En tant que développeur logiciel en devenir, j’ai récemment bossé sur un petit projet backend : une API REST minimaliste en C# qui permet de gérer des objets métier simples appelés « TwinObject » 🧠⚙️
L’objectif : construire un service CRUD clair, modulaire, testable… et surtout compréhensible et réutilisable dans d’autres projets .NET.
🛠️ Stack utilisée
- Langage : C#
- Framework : .NET 9 (oui, j’aime vivre dangereusement)
- Architecture : API REST minimale, découplée
- Librairie de tests : xUnit
- Modèle :
TwinObject→ unGuid Id+ unstring Name, stocké en mémoire
💡 Ce que fait l’API
Elle gère un mini système de gestion d’objet :
- 🔍 Lister tous les TwinObjects
- ➕ Créer un TwinObject
- đź§ľ Lire un TwinObject par ID
- 🛠️ Mettre à jour un TwinObject
- ❌ Supprimer un TwinObject
Les données sont gardées en mémoire via un
Dictionary<Guid, TwinObject>: parfait pour tester sans DB.
✅ Tests unitaires intégrés
J’ai mis en place une batterie de tests unitaires avec xUnit pour valider chaque opération du service.
Et oui, au début ça pétait.
Sequence contains no elements
Traduction : « Tu t’es lancé dans un test sans setup, rookie. »
Mais après quelques initialisations bien placées, tous les tests passent avec succès. 🔧
✨ Ce que ce projet m’a apporté
Même s’il est simple, ce projet m’a permis de pratiquer :
- ✔️ Une architecture propre avec Domain / Services / Tests
- ✔️ L’usage d’interfaces pour la testabilité (
ITwinService) - ✔️ Des tests unitaires complets
- ✔️ Une base que je peux faire évoluer dans de vrais projets
🧪 Prochaine étape ?
- Ajouter une base de données avec Entity Framework
- Ajouter Swagger pour une documentation automatique
- L’étendre en micro-API dans un projet plus grand
📸 Code source
đź’» Le code est dispo sur GitHub : https://github.com/TheDude95100/Demo-API-REST-C-
#DevLife Résumé
Un projet simple, pédagogique, fun à coder — et une base solide pour construire des services plus ambitieux en C#.
#CSharp, #DotNet, #API, #BackendDeveloper, #DevJunior, #xUnit, #RestAPI, #CodeNewbie, #Programmation, #DéveloppementLogiciel, #TestUnitaire, #ProjetPerso, #TechBlog, #DevBlog