1. Vận hành và giám sát hệ thống hằng ngày
- Theo dõi tình trạng các dịch vụ backend chạy trên Docker/Traefik, cơ sở dữ liệu MySQL, Redis, RabbitMQ; kiểm tra healthcheck, log ứng dụng và cảnh báo lỗi trên Bugsnag.
- Giám sát hàng đợi xử lý báo cáo và tổng hợp dữ liệu (BullMQ), các tác vụ định kỳ (cron job), worker; xử lý job lỗi, dead-letter queue, dữ liệu tổng hợp sai lệch.
- Thực hiện và kiểm tra sao lưu định kỳ cơ sở dữ liệu MySQL và tệp đính kèm trên S3.
- Theo dõi dung lượng lưu trữ, tài nguyên máy chủ, hiệu năng truy vấn và thời gian phản hồi; đề xuất nâng cấp khi cần.
2. Tiếp nhận, xử lý sự cố và hỗ trợ người dùng
- Tiếp nhận yêu cầu, sự cố từ các trại và phòng ban; phân loại mức độ, xác định nguyên nhân gốc, khắc phục và ghi nhận nhật ký sự cố.
3. Bảo trì và phát triển mã nguồn
- Sửa lỗi, tối ưu hiệu năng truy vấn và xử lý dữ liệu; cập nhật thư viện, bản vá bảo mật (Node.js, NestJS, Prisma, React, Ant Design, AG Grid).
- Phát triển tính năng mới hoặc điều chỉnh nghiệp vụ theo yêu cầu đã được phê duyệt.
- Quản lý thay đổi lược đồ cơ sở dữ liệu bằng Prisma migration; viết và chạy kiểm thử (Jest) trước khi phát hành.
- Bảo trì giao diện web React (Redux Toolkit, Redux Saga, Ant Design, AG Grid, Socket.IO) và bản build Webpack/Nginx.
4. Bảo mật và an toàn dữ liệu
- Quản lý và định kỳ thay đổi JWT secret, API key, khóa truy cập S3, mật khẩu cơ sở dữ liệu; kiểm soát quyền truy cập máy chủ.
- Rà soát lỗ hổng bảo mật, cập nhật bản vá; đảm bảo dữ liệu sản xuất không bị rò rỉ, mất mát.
5. Tài liệu, đào tạo và chuyển giao
- Duy trì tài liệu kiến trúc hệ thống, tài liệu API (Swagger), hướng dẫn vận hành, hướng dẫn sử dụng; cập nhật khi có thay đổi.
- Đào tạo, hướng dẫn người dùng mới tại các trại; chuẩn bị tài liệu bàn giao khi có yêu cầu.
6. Báo cáo và công việc khác
- Báo cáo định kỳ (tuần/tháng) về tình trạng hệ thống, sự cố, tiến độ phát triển.
- Thực hiện các công việc khác theo phân công của cấp quản lý.




