Skip to content

luminietos/kokoushuoneiden_varausrajapinta_wp

Repository files navigation

Kokoushuoneiden varausrajapinta (API)

Tämä projekti on toteutettu osana rekrytointiprosessin ennakkotehtävää.
Sovellus tarjoaa yksinkertaisen REST-rajapinnan kokoushuoneiden varausten hallintaan.


🚀 Toiminnot

API tukee seuraavia toimintoja:

1. Varauksen luonti

POST /rooms/<roomId>/reservations

2. Varauksen peruutus

DELETE /rooms/<roomId>/reservations/<reservationId>

3. Varausten katselu

GET /rooms/<roomId>/reservations


📦 Business rules

  • 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).

🛠️ Teknologiat

  • Dart
  • Shelf (HTTP-serveri)
  • shelf_router (reititys)
  • uuid (varaus-ID:t)
  • In-memory-tietokanta (ei ulkoisia riippuvuuksia)

📁 Projektirakenne

/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

▶️ Käynnistys

Asenna riippuvuudet:

dart pub get

Käynnistä serveri:

dart run bin/server.dart

Serveri käynnistyy oletuksena osoitteeseen:

http://localhost:8080

Testaus

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.


🧪 Esimerkkipyynnöt

Luo varaus

POST /rooms/123/reservations Content-Type: application/json
{ "start": "2026-01-23T10:00:00Z", "end": "2026-01-23T11:00:00Z" }

Hae varaukset

GET /rooms/123/reservations

Poista varaus

DELETE /rooms/123/reservations/<reservationId>

📄 Dokumentaatio

  • PROMPTIT.md sisältää kaikki AI-keskustelut.
  • ANALYYSI.md sisältää analyysin AI:n tuotoksesta ja omista parannuksista.

📝 Huomio

Tämä projekti on toteutettu tehtävänannon mukaisesti käyttäen tekoälyä parikoodaajana ja dokumentoiden koko prosessin.

About

Kokoushuoneiden varausrajapinta

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •