Crow Demo Backend
Ein REST-Backend in C++ auf dem Crow-Framework, das Geräte (Laptops und Server) aus einem In-Memory-Speicher nach dem Repository-Pattern ausliefert. Gebaut mit CMake FetchContent.
- Sprache
- C++
- Jahr
- 2026
- Team
- Solo
- Stack
- C++
- Crow
- CMake
- REST
- CMake
- FetchContent
- Crow
Funktionen
- Geräte unter /devices anlegen, abrufen, ändern und löschen.
- Zwei Gerätetypen: Laptops mit Akkulaufzeit und Server mit RAM und Kernen.
- Jeder JSON-Body wird geprüft, Fehler kommen als 400 Bad Request mit einer Meldung zurück.
- IDs sind eindeutig; ein zweites Gerät mit derselben ID wird abgelehnt.
- Fertige Testanfragen für jeden Endpunkt in einer .http-Datei.
So ist es gebaut
C++ mit dem Header-only-Framework Crow, das CMake beim Build über FetchContent lädt. Ein Build-Skript konfiguriert und baut das Projekt und startet den Server auf Port 3000.
Die Geräte nutzen Vererbung: Laptop und Server erben von einer abstrakten Klasse Device und überschreiben getSpecs(). Die Speicherung beschreibt ein Interface IDeviceRepository, implementiert im Speicher; die Routen bekommen die In-Memory-Klasse direkt übergeben.
Die Routen werden in je einer kleinen Funktion pro HTTP-Methode registriert. Eingehendes JSON liest Crows JSON-Reader, und daraus entsteht der passende Gerätetyp oder eine Fehlermeldung.