How 24876021/lims works
LIMS is a university laboratory management platform: users access domain workflows through a Vue frontend and Spring Boot APIs. The main workflow is authenticated access to personnel, equipment, safety, reservation, resource, and report operations, with results stored by the backend and surfaced in dashboards. The README documents RBAC, JWT, notifications, and visualization; sampled service interfaces confirm several lifecycle actions and notification behavior. Backend internals beyond those samples are represented at module level where the README describes the layered architecture.
Main entry points: api.js API client · Dashboard.vue Business views · SecurityConfig.java Authentication and RBAC · NotificationController.java Notification APIs
Components 19
Web frontend
- Business views
Frontend/lab-management/src/views/Dashboard.vue - Routes and guards
Frontend/lab-management/src/router/index.js - API client
Frontend/lab-management/src/services/api.js
Identity and messaging
- Authentication and RBAC
backend/lab-management/lab-common/src/main/java/com/thematrix/labmanagement/common/config/SecurityConfig.java - User and department APIs
backend/lab-management/lab-common/src/main/java/com/thematrix/labmanagement/common/controller/UserController.java - Notification APIs
backend/lab-management/lab-common/src/main/java/com/thematrix/labmanagement/common/controller/NotificationController.java - WebSocket push
backend/lab-management/lab-common/src/main/java/com/thematrix/labmanagement/common/service/WebSocketPushService.java
Lab operations
- Personnel and attendance
backend/lab-management/lab-personnel/src/main/java/com/thematrix/labmanagement/personnel/controller/PersonnelController.java - Equipment lifecycle
backend/lab-management/lab-equipment/src/main/java/com/thematrix/labmanagement/equipment/controller/EquipmentController.java - Safety and training
backend/lab-management/lab-safety/src/main/java/com/thematrix/labmanagement/safety/controller/SafetyController.java - Lab reservations
backend/lab-management/lab-reservation/src/main/java/com/thematrix/labmanagement/reservation/controller/ReservationController.java - Resource inventory
backend/lab-management/lab-resources/src/main/java/com/thematrix/labmanagement/resources/controller/ResourceController.java
Reporting and insight
- Reports
backend/lab-management/lab-reports/src/main/java/com/thematrix/labmanagement/reports/controller/ReportController.java - Dashboard statistics
backend/lab-management/lab-dashboard/src/main/java/com/thematrix/labmanagement/dashboard/controller/DashboardController.java
Other components
- Lab user
- MySQL database
- Redis
- Browser
- WebSocket client
Connections 24
- Lab user → Browser: uses
- Browser → Business views: renders
- Business views → Routes and guards: navigates
- Business views → API client: requests
- API client → Authentication and RBAC: API calls
- Authentication and RBAC → Redis: captcha state
- Authentication and RBAC → User and department APIs: authenticates
- API client → Personnel and attendance: API calls
- API client → Equipment lifecycle: API calls
- API client → Safety and training: API calls
- API client → Lab reservations: API calls
- API client → Resource inventory: API calls
- API client → Reports: API calls
- API client → Dashboard statistics: API calls
- API client → Notification APIs: API calls
- Personnel and attendance → MySQL database: persists records
- Equipment lifecycle → MySQL database: persists records
- Safety and training → MySQL database: persists records
- Lab reservations → MySQL database: persists records
- Resource inventory → MySQL database: persists records
- Reports → MySQL database: persists reports
- Dashboard statistics → MySQL database: reads statistics
- Notification APIs → WebSocket push: dispatches
- WebSocket push → WebSocket client: pushes updates