From 3b09daeb04af59cf2073c3234ab8723295553580 Mon Sep 17 00:00:00 2001 From: Pau Costa Date: Sat, 28 Mar 2026 00:50:51 +0100 Subject: [PATCH] Add real-time space status updates and reservation management - Integrate WebSocket functionality using `socket.io` for floor-specific updates. - Implement `ReservationsModule` with CRUD for managing reservations (API). - Create `LoggerMiddleware` for consistent HTTP request logging. - Update `SpacesService` to include real-time reservation status checks. - Add `SpaceCard.svelte` component to reflect live space status (Web). - Enable environmental base API URL configuration for flexible deployments. --- .idea/workspace.xml | 32 ++- apps/api/package.json | 5 +- apps/api/prisma/schema.prisma | 44 ++-- apps/api/src/app.module.ts | 13 +- .../common/filters/http-exception.filter.ts | 4 + .../common/middleware/logger.middleware.ts | 23 ++ apps/api/src/events/events.gateway.ts | 45 ++++ apps/api/src/events/events.module.ts | 8 + .../dto/create-reservation.dto.ts | 15 ++ .../reservations/reservations.controller.ts | 34 +++ .../src/reservations/reservations.module.ts | 13 + .../src/reservations/reservations.service.ts | 69 +++++ apps/api/src/spaces/spaces.service.ts | 19 +- apps/web/package.json | 3 +- apps/web/src/lib/api/client.ts | 5 +- apps/web/src/lib/components/SpaceCard.svelte | 55 ++++ .../routes/dashboard/floor/[id]/+page.svelte | 22 +- .../src/routes/dashboard/floor/[id]/+page.ts | 8 + package-lock.json | 239 +++++++++++++++++- 19 files changed, 611 insertions(+), 45 deletions(-) create mode 100644 apps/api/src/common/middleware/logger.middleware.ts create mode 100644 apps/api/src/events/events.gateway.ts create mode 100644 apps/api/src/events/events.module.ts create mode 100644 apps/api/src/reservations/dto/create-reservation.dto.ts create mode 100644 apps/api/src/reservations/reservations.controller.ts create mode 100644 apps/api/src/reservations/reservations.module.ts create mode 100644 apps/api/src/reservations/reservations.service.ts create mode 100644 apps/web/src/lib/components/SpaceCard.svelte create mode 100644 apps/web/src/routes/dashboard/floor/[id]/+page.ts diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 85cd7eb..da60d5f 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,21 +4,15 @@