[Open Source] #154 - Atlas CMMS: Hệ thống quản trị bảo trì tập trung toàn diện với Spring Boot 3.2, React và kiến trúc Multi-tenancy bảo mật cao
Trong quản trị công nghiệp, việc theo dõi hàng ngàn tài sản (Assets) và đảm bảo quy trình bảo trì phòng ngừa (Preventive Maintenance) diễn ra đúng hạn là một bài toán vận hành cực kỳ phức tạp. Atlas CMMS ra đời như một giải pháp "Enterprise-grade" mã nguồn mở, cung cấp một hệ sinh thái hoàn chỉnh từ Web đến Mobile, giúp số hóa toàn bộ vòng đời của thiết bị và tối ưu hóa năng suất của đội ngũ kỹ thuật.
Dưới góc độ kỹ thuật, Atlas CMMS là một bài học mẫu mực về xây dựng hệ thống Đa người thuê (Multi-tenancy), kỹ thuật Truy vấn động (Advanced Search) và cơ chế Auditing chuyên sâu.
Github: https://github.com/Grash-Labs/atlas-cmms
🛠️ 1. Nền tảng công nghệ: Sức mạnh của Spring Boot 3 và Modern React
Atlas CMMS tận dụng các công nghệ chuẩn doanh nghiệp để đảm bảo tính bền bỉ và khả năng mở rộng:
- Backend Core (Java 17 & Spring Boot 3.2): Tận dụng tối đa các tính năng mới của Java hiện đại và khả năng điều phối mạnh mẽ của Spring Framework.
- Persistent & Migration: Sử dụng PostgreSQL 16 làm nhân lưu trữ, kết hợp với Liquibase để quản lý phiên bản database và Hibernate Envers để truy vết lịch sử thay đổi của từng bản ghi dữ liệu.
- Unified Frontend (React & TypeScript): Xây dựng giao diện Web mượt mà với Material UI (MUI), sử dụng Redux Toolkit để quản lý trạng thái phức tạp của các bộ lọc và dashboard báo cáo.
- Cross-platform Mobile (React Native & Expo): Cho phép kỹ thuật viên thao tác trực tiếp tại hiện trường thông qua việc quét QR/NFC, chụp ảnh nghiệm thu và ký tên điện tử.
- Cloud-native Storage: Kiến trúc hỗ trợ chuyển đổi linh hoạt giữa lưu trữ nội bộ (MinIO) và lưu trữ đám mây (Google Cloud Storage).
🏗️ 2. Trụ cột kiến trúc: Multi-tenancy và RBAC Granular
Kiến trúc của Atlas CMMS được thiết kế để phục vụ mô hình SaaS (Software as a Service):
- Isolation-by-Design (Multi-tenancy): Hệ thống sử dụng kỹ thuật AOP (Aspect Oriented Programming) với
TenantAspect.javađể đánh chặn các truy vấn. Mọi thực thể trong hệ thống đều được ràng buộc bởicompany_id, đảm bảo dữ liệu giữa các công ty (Tenants) hoàn toàn cô lập ở tầng logic và tầng dữ liệu. - Granular RBAC (Phân quyền chi tiết): Không chỉ dừng lại ở các Role (Admin, User), Atlas CMMS thực hiện phân quyền đến cấp độ hành động (
VIEW,CREATE,EDIT_OTHER,DELETE_OTHER) cho từng loại tài nguyên cụ thể như Lệnh làm việc, Phụ tùng hay Kho bãi. - Advanced Search Engine: Sử dụng mô hình
SpecificationBuildercho phép Frontend xây dựng các bộ lọc động cực kỳ phức tạp (toán tử AND/OR, LIKE, RANGE) mà không cần viết lại hàng chục phương thức truy vấn thủ công trong Repository.
🔄 3. Workflow: Vòng đời từ Sự cố đến Nghiệm thu (Sequence Diagram)
Sơ đồ mô tả quy trình xử lý một Lệnh làm việc (Work Order) trong hệ thống:

⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn
- Hibernate Envers Auditing: Tự động hóa việc tạo các bảng
_AUDđể lưu trữ mọi phiên bản của dữ liệu. Điều này cho phép người quản trị "quay ngược thời gian" để xem chính xác ai đã thay đổi thông tin lệnh bảo trì tại bất kỳ thời điểm nào. - Quartz-based PM Engine: Một bộ máy lập lịch (Preventive Maintenance) mạnh mẽ, cho phép tạo lệnh làm việc dựa trên cả hai tiêu chí: Thời gian (vd: mỗi 3 tháng) hoặc Chỉ số vận hành (vd: mỗi 1000 giờ máy chạy).
- Dynamic Custom Fields: Kỹ thuật JSONB Mapping cho phép người dùng định nghĩa thêm các trường thông tin tùy chỉnh cho tài sản mà không cần thay đổi cấu trúc bảng vật lý, mang lại sự linh hoạt tối đa cho các ngành công nghiệp khác nhau.
- Analytics Aggregation: Tầng Controller và Service được thiết kế để tính toán các chỉ số hiệu suất quan trọng (KPI) như MTBF (Thời gian trung bình giữa các lần hỏng) và MTTR (Thời gian sửa chữa trung bình) theo thời gian thực.
⚖️ 5. So sánh chiến lược
| Tiêu chí | Atlas CMMS | Jira (Standard) | Excel Sheets |
|---|---|---|---|
| Mục đích | Chuyên biệt cho Bảo trì | Quản lý Task chung | Thủ công |
| Quản lý Tài sản | Có (Phân cấp theo vị trí) | Qua Plugin | Đơn giản |
| Kho phụ tùng | Tích hợp sâu (Inventory) | Không có | Thủ công |
| Tính năng Mobile | App chuyên dụng (QR/NFC) | Có | Không |
| Auditing | Rất mạnh (Hibernate Envers) | Trung bình | Không có |
✅ Kết luận: Tại sao Atlas CMMS là hình mẫu cho hạ tầng doanh nghiệp?
Atlas CMMS chứng minh rằng một phần mềm quản trị công nghiệp hiện đại cần sự kết hợp giữa tính linh hoạt (Custom Fields) và sự chặt chẽ (Multi-tenancy & Auditing). Việc áp dụng Spring Boot 3 và kiến trúc Multi-platform (Web/Mobile) đã tạo ra một công cụ sẵn sàng cho việc vận hành thực tế tại các nhà máy và tòa nhà lớn.
Đối với các kỹ sư Backend, nghiên cứu Atlas CMMS mang lại giá trị về:
- Kỹ thuật triển khai Kiến trúc Đa người thuê an toàn.
- Cách xây dựng bộ máy Truy vấn động (Dynamic Filtering) chuyên nghiệp.
- Tư duy thiết kế Hệ thống Audit lịch sử cho các dữ liệu quan trọng.
All rights reserved