Commit Graph

8 Commits (0b6a043f19d46e05e733dfb646be80e218f1b505)

Author SHA1 Message Date
Pau Costa Ferrer 4bc2454f44 Add Docker deployment support for API and Web services
- Add Dockerfiles for API and Web apps with multi-stage builds.
- Configure `docker-compose.yml` to manage services (Postgres, API, Web, pgAdmin).
- Add `.dockerignore` for optimized builds.
- Include `DOCKER_SETUP.md` for deployment steps and guidance.
2026-03-28 17:39:43 +01:00
Pau Costa Ferrer 71404d0ed8 Add i18n support with English and Spanish translations
- Introduce `svelte-i18n` for internationalization.
- Add English (`en.json`) and Spanish (`es-ES.json`) locale files.
- Implement `setupI18n` function for initializing and managing locales.
- Update project dependencies to include `svelte-i18n`.
2026-03-28 17:34:13 +01:00
Pau Costa Ferrer e80984faa1 Add user profile management with avatar upload and update support
- 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`).
2026-03-28 17:22:57 +01:00
Pau Costa Ferrer 165cd76b6f Add "My Bookings" page and enable reservation updates and cancellations
- 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.
2026-03-28 16:16:27 +01:00
Pau Costa Ferrer 7683066ceb Add floorplan editor for admin layout management
- 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.
2026-03-28 15:15:28 +01:00
Pau Costa Ferrer 3b09daeb04 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.
2026-03-28 00:50:51 +01:00
Pau Costa Ferrer 8dc99bc1a4 Implement authentication, organization management, and floor layout features
- 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.
2026-03-28 00:36:05 +01:00
Pau Costa Ferrer 1faa0d5c8f Initialize Hot Desking app with web and API services
- 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.
2026-03-28 00:06:57 +01:00