Tämä projekti on toteutettu osana rekrytointiprosessin ennakkotehtävää.
Sovellus tarjoaa yksinkertaisen REST-rajapinnan kokoushuoneiden varausten hallintaan.
API tukee seuraavia toimintoja:
POST /rooms/<roomId>/reservations
DELETE /rooms/<roomId>/reservations/<reservationId>
GET /rooms/<roomId>/reservations
- Varaukset eivät saa mennä päällekkäin.
- Varaukset eivät voi olla menneisyydessä.
- Aloitusajan täytyy olla ennen lopetusaikaa.
- Aikaformaatti: ISO8601 (esim.
2026-01-23T10:00:00Z).
- Dart
- Shelf (HTTP-serveri)
- shelf_router (reititys)
- uuid (varaus-ID:t)
- In-memory-tietokanta (ei ulkoisia riippuvuuksia)
/bin
server.dart
/lib
/routes
reservations_route.dart
/services
reservation_service.dart
/models
reservation.dart
/utils
cors_middleware.dart
error_middleware.dart
response_utils.dart
date_time_utils.dart
pubspec.yaml
Asenna riippuvuudet:
dart pub get
Käynnistä serveri:
dart run bin/server.dart
Serveri käynnistyy oletuksena osoitteeseen:
http://localhost:8080
Testaa toimivuutta ajamalla PowerShellissä:
.\test_api.ps1
Jos saat Execution Policy varioituksen, voit sallia scriptin ajon laittamalla ensin alla olevan komennon...:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
...ja ajamalla sitten skriptin uudestaan.
POST /rooms/123/reservations Content-Type: application/json
{ "start": "2026-01-23T10:00:00Z", "end": "2026-01-23T11:00:00Z" }
GET /rooms/123/reservations
DELETE /rooms/123/reservations/<reservationId>
- PROMPTIT.md sisältää kaikki AI-keskustelut.
- ANALYYSI.md sisältää analyysin AI:n tuotoksesta ja omista parannuksista.
Tämä projekti on toteutettu tehtävänannon mukaisesti käyttäen tekoälyä parikoodaajana ja dokumentoiden koko prosessin.