- Create `+page.svelte` for managing user profiles, including name, avatar, and password updates.
- Add `Avatar.svelte` component for rendering user avatars with Gravatar and fallback initials support.
- Implement backend APIs for fetching and updating user profiles (`/users/profile`).
- Add support for avatar uploads with file validation (max size: 5MB).
- Update `FloorplanViewer.svelte` to display user names and avatars in reservations.
- Introduce utilities for Gravatar URLs and user avatar management (`getGravatarUrl`, `getInitials`).
- Introduce `AssetsModule` with APIs for uploading and retrieving organization logos, building images, and floor plans.
- Implement file validation for type and size (10MB max).
- Add `resolveAssetUrl` utility for generating absolute asset URLs.
- Enhance admin UI components to support image file uploads and previews.
- Update Prisma schema to associate assets with organizations, buildings, and floors.
- Modify existing update logic to clear references when external URLs are used.
- Implement organization settings page (`+page.svelte`) for updating organization name and logo.
- Create backend APIs for retrieving and updating organization details with role-based access control.
- Add `OrganizationsModule`, `OrganizationsService`, and DTOs for input validation in NestJS.
- Update Prisma schema to include `logoUrl` field for organizations.
- Enhance navigation to dynamically display organization logo and name.
- Improve WebSocket connection reliability with updated transport options.
- Introduce logic to prioritize real-time updates over initial data for live views.
- Add logging for better debugging of WebSocket events and data propagation.
- Update UI components (`SpaceCard`, `FloorplanViewer`) to avoid overwrites from stale data.
- Refactor date handling for consistent behavior across components.
- Implement `BuildingEditorModal.svelte` for creating, editing, and deleting buildings and floors.
- Add `CreateBuildingDto`, `UpdateBuildingDto`, `CreateFloorDto`, and `UpdateFloorDto` for validation.
- Extend `SpacesService` and `SpacesController` with endpoints for building and floor CRUD operations.
- Update Prisma schema to include building descriptions and image URLs, and floor names.
- Enhance dashboard with building management functionality for admin users.
- Implement `+page.svelte` for managing user reservations with real-time updates.
- Add API endpoints for updating and canceling reservations with enhanced validation and authorization.
- Introduce `UpdateReservationDto` for refined reservation update handling.
- Update `reservations.service.ts` to handle overlapping checks, time adjustments, and admin actions.
- Extend layout to include a link to the "My Bookings" page.
- Add `date-fns` library for date formatting.
- Implement `+page.svelte` for admin user management, allowing role updates, password resets, and invite link generation.
- Add `+page.svelte` for user registration using invite tokens.
-
- Implement `+page.svelte` for admin reporting dashboard showing utilization and employee stats.
- Add API endpoints for utilization stats, employee stats, and Excel report export (NestJS).
- Create `ReportsService` and `ReportsModule` for backend logic.
- Introduce `xlsx` package for generating Excel reports.
- Update layout to include "Reports" link for admin users.
- Extend Prisma querying for detailed building, space type, and employee role data.
- Update `SpacesService` to handle width and height properties for spaces.
- Introduce `UpdateSpaceDto` for improved validation in batch update operations.
- Extend `FloorplanEditor.svelte` and `FloorplanViewer.svelte` to support dynamic container scaling and space resizing.
- Modify Prisma schema to include `width` and `height` fields for spaces.
- Enhance floorplan rendering to maintain proportional layout during editing and viewing.
- Create `BookingModal.svelte` for booking spaces with custom time slots or full-day durations.
- Add API endpoint to fetch reservations by space ID and date.
- Update `SpacesService` with enhanced validation rules and conflict checks for reservations.
- Extend WebSocket updates to include reservation data for real-time synchronization.
- Enable date-based filtering and status handling in UI components (`SpaceCard.svelte`, `FloorplanViewer.svelte`).
- Create `+page.svelte` for building-level dashboard with floor selection and layout preview.
- Add `FloorplanViewer.svelte` component with WebSocket integration for real-time space status updates.
- Extend `SpacesService` and API endpoints for building floors and floor details retrieval.
- Update dashboard UI with cleaner building and floor presentation.
- Improve loading states and error handling across dashboard and floor pages.
- Implement `FloorplanEditor.svelte` component for adding, editing, and positioning spaces.
- Add backend support for floorplan image upload and batch updating space positions.
- Update Prisma schema to include `planImageUrl` for floors.
- Enable API proxy in Vite configuration for straightforward local development.
- Refactor API calls to use a centralized `apiFetch` utility with token handling.
- 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.
- Add API authentication with JWT strategy using NestJS.
- Configure Prisma schema for organizations, users, buildings, floors, and spaces.
- Seed initial database with test data and relationships.
- Build SvelteKit web pages for dashboard and floor layout with secured routing and organization hierarchy display.
- Remove deprecated `AppService` from API.
- Set up SvelteKit for the web interface with Tailwind CSS.
- Build the API using NestJS with Prisma ORM for database interaction.
- Add environment variable management and docker-compose for PostgreSQL and PgAdmin instances.
- Create shared data models for consistent typing across services.
- Establish basic routing and layouts for web and API services.