How doom1817/roms works
This is a reservoir operations management system: signed-in staff use a Vue admin interface to manage reservoirs, equipment, inspections, hazards and monitoring, then review warnings, statistics and AI reports. The frontend’s API clients communicate with the Spring Boot backend; controllers expose the domain operations, and services implement them. Authentication and role checks protect access, while MyBatis-Plus connects backend operations to MySQL. The README documents the overall frontend/backend API link; individual unsampled page-to-client and service-to-mapper wiring is represented only where the tree or sampled code supports it.
Main entry points: api API clients · AdminLayout.vue Admin layout · controller Domain APIs · index.js Page router
Components 26
Web interface
- Vue application
frontend/src/main.js - Page router
frontend/src/router/index.js - Admin layout
frontend/src/layout/AdminLayout.vue - Sign in
frontend/src/views/login/index.vue - Operations pages
frontend/src/views/reservoir/index.vue - Inspection pages
frontend/src/views/inspection/index.vue - Hazard pages
frontend/src/views/hazard/index.vue - Equipment pages
frontend/src/views/equipment/index.vue - API clients
frontend/src/api
Access control
- Authentication API
src/main/java/com/reservoir/management/controller/AuthController.java - Token service
src/main/java/com/reservoir/management/service/TokenService.java - User management
src/main/java/com/reservoir/management/service/impl/UserServiceImpl.java
Operations
- Domain APIs
src/main/java/com/reservoir/management/controller - Inspection service
src/main/java/com/reservoir/management/service/InspectionService.java - Hazard service
src/main/java/com/reservoir/management/service/HazardService.java
Monitoring and insight
- Monitor pages
frontend/src/views/monitor/index.vue - Warning pages
frontend/src/views/warning/index.vue - Dashboard
frontend/src/views/dashboard/index.vue - AI reports
frontend/src/views/ai-report/index.vue - Monitoring service
src/main/java/com/reservoir/management/service/MonitorDataService.java - Warning service
src/main/java/com/reservoir/management/service/WarningService.java - Statistics service
src/main/java/com/reservoir/management/service/StatisticsService.java - AI report service
src/main/java/com/reservoir/management/service/AiService.java
Backend foundation
- MySQL database
Other components
- Staff user
- AI provider
Connections 39
- Staff user → Vue application: uses
- Vue application → Page router: installs
- Page router → Sign in: routes
- Page router → Admin layout: routes
- Admin layout → Operations pages: presents
- Admin layout → Inspection pages: presents
- Admin layout → Hazard pages: presents
- Admin layout → Equipment pages: presents
- Admin layout → Monitor pages: presents
- Admin layout → Warning pages: presents
- Admin layout → Dashboard: presents
- Admin layout → AI reports: presents
- Sign in → API clients: requests
- Operations pages → API clients: requests
- Inspection pages → API clients: requests
- Hazard pages → API clients: requests
- Equipment pages → API clients: requests
- Monitor pages → API clients: requests
- Warning pages → API clients: requests
- Dashboard → API clients: requests
- AI reports → API clients: requests
- API clients → Authentication API: HTTP requests
- API clients → Domain APIs: HTTP requests
- Authentication API → User management: delegates
- User management → Token service: creates tokens
- Domain APIs → Inspection service: delegates
- Domain APIs → Hazard service: delegates
- Domain APIs → Monitoring service: delegates
- Domain APIs → Warning service: delegates
- Domain APIs → Statistics service: delegates
- Domain APIs → AI report service: delegates
- Monitoring service → Warning service: recomputes warnings
- User management → MySQL database: reads and writes
- Inspection service → MySQL database: reads and writes
- Hazard service → MySQL database: reads and writes
- Monitoring service → MySQL database: reads and writes
- Warning service → MySQL database: reads and writes
- Statistics service → MySQL database: queries data
- AI report service → AI provider: generates reports