- Refactored test cases to use more precise assertions and enhanced expected data validation.
- Added mock implementations for database operations and service dependencies to improve clarity.
- Improved error handling test scenarios (e.g., NotFoundException cases).
- Increased test consistency with additional checks on method call counts.
Enhance group service to manage metadata, including descriptions for groups. Update CRUD operations to handle metadata extraction and response formatting. Improve error handling for invalid group IDs and enhance group-person relationship responses with person fetching.
Added validation checks for tagId, personId, and projectId across tag-related operations. Introduced `BadRequestException` for invalid or missing inputs. Replaced generic errors with more descriptive exceptions.
Added validation checks for tagId, personId, and projectId across tag-related operations. Introduced `BadRequestException` for invalid or missing inputs. Replaced generic errors with more descriptive exceptions.
- Add gdprConsentDate for test compatibility in updateGdprConsent
- Include empty groups and persons arrays in getUserWithProjects for test consistency
- Minor formatting cleanup
Added validation and error handling across service methods. Introduced default values for `create` and `update` methods. Modularized `PersonsModule` and secured `PersonsController` with JWT authentication guard.
- Added `description` field to create and update group DTOs.
- Simplified person DTOs by consolidating fields into `name`, replacing various attributes.
- Added `skills` field to create and update person DTOs for array-based skill representation.
fix: ensure HttpCode annotations for specific endpoints in users and groups controllers
refactor: enhance person handling logic in groups service for better e2e test support
fix: improve CORS configuration for handling additional origins
feat: add @Public decorator to app controller's root endpoint
refactor: modify projects controller to return JSON responses for check-access endpoint
- Added `CORS_CONFIGURATION.md` to outline CORS setup for development and production environments.
- Removed completed CORS-related task from `PROJECT_STATUS.md`.
- Updated backend CORS setup to differentiate between development (open origins) and production (restricted origins).
- Implemented support for additional allowed origins via environment variables.
- Adjusted `WebSocketGateway` CORS settings to align with the new configuration.
- Updated `PROJECT_STATUS.md` to reflect progress on CORS-related security tasks.
- Updated GDPR compliance status: backend features implemented, frontend still pending.
- Revised e2e test development and API documentation tasks.
- Adjusted progress percentages for backend tests, frontend optimizations, and integrations.
- Added new task priorities focused on GDPR, security enhancements, and testing.
- Marked completion of real-time collaboration with Socket.IO and related WebSocket events.
- Updated statuses for unit tests, e2e tests, and priority tasks.
- Adjusted progress percentages and timeline estimates for backend and frontend modules.
- Emphasized upcoming tasks: API documentation, GDPR compliance, and e2e test implementation.
- Updated `setProject` function in `page.tsx` to include explicit `(prev: any)` and `(group: any)` type annotations for better readability.
- Added `"use client";` directive to `notifications.tsx` for React server-client compatibility.
- Improved structural consistency and clarity in group and person state updates.
- Added unit tests for WebSocket event emissions in `GroupsService` and `ProjectsService` (create, update, delete, and collaborator actions).
- Added new test files for `WebSocketsGateway` and `WebSocketsService` to ensure correct event handling and gateway connections.
- Improved test structure and coverage for real-time functionalities.
- Implemented `WebSocketsGateway` for handling Socket.IO connections, events, and rooms.
- Added `WebSocketsService` to act as a facade for emitting WebSocket events (projects, groups, notifications).
- Registered `WebSocketsModule` and integrated it into `AppModule`.
- Enabled real-time updates in `ProjectsService` and `GroupsService` with relevant WebSocket events (create, update, delete, collaborator/group actions).
- Introduced `SocketProvider` to manage WebSocket connection and context across the app.
- Added `NotificationsListener` component to handle real-time notifications and display feedback via `toast`.
- Enabled event subscriptions for projects, groups, collaborators, and user actions.
- Added `SocketProvider` for application-wide WebSocket connection management.
- Introduced real-time updates for projects and groups, including create, update, and delete events.
- Enhanced project and group pages with real-time collaboration, group actions, and data syncing.
- Refactored fetch methods to include loading and refreshing states.
- Integrated `toast` notifications for real-time event feedback.
- Updated `package.json` to include `socket.io-client@4.8.1`.
Reflected the completion of key modules (`auth`, `groups`, `tags`, `pages`). Adjusted progress percentages, revised timeline estimates, and emphasized next steps, including API integration finalization and real-time collaboration features.