Đặc tả hệ thống, Q&A và điều khoản sử dụng
Trang này tổng hợp đầy đủ cách LTA Tracking hoạt động: kiến trúc desktop app, backend, dashboard, dữ liệu được ghi nhận, quyền truy cập cần cấp và nguyên tắc sử dụng trong môi trường công ty.

LTA Tracking được thiết kế như một nền tảng tracking vận hành end-to-end
Hệ thống gồm desktop agent, backend API, dashboard quản trị và hạ tầng deploy MVP. Mục tiêu là ghi nhận dữ liệu làm việc theo lịch, xử lý tập trung, hiển thị cho quản trị viên và phát hành app ổn định cho nhiều hệ điều hành.
Phân quyền và nguyên tắc truy cập
- User chỉ sử dụng app và xem dữ liệu thuộc phạm vi cá nhân được hệ thống cho phép.
- Admin quản lý dữ liệu theo phạm vi phòng ban hoặc nhóm được phân công.
- Super admin quản trị người dùng, phòng ban, lịch làm việc, thiết bị và cấu hình toàn hệ thống.
- Endpoint nhạy cảm yêu cầu JWT hợp lệ, tài khoản active và role phù hợp trước khi trả dữ liệu.
Kiến trúc tổng thể
Luồng chính từ máy nhân viên đến dashboard và báo cáo
Desktop Agent
Ứng dụng Wails/Golang chạy trên Windows, macOS và Linux; đăng nhập, lấy cấu hình, chụp màn hình, gắn watermark/webcam nếu có quyền và gửi dữ liệu về backend.
Tracking Backend
API Golang/Gin quản lý xác thực, user, phòng ban, lịch làm việc, thiết bị, screenshot, daily report, release app, WebSocket và worker xử lý nền.
Admin Dashboard
Web dashboard React/TanStack cho super admin/admin xem tổng quan, quản lý nhân sự, phòng ban, thiết bị, lịch làm việc, log, ảnh tracking và báo cáo.
MVP Infrastructure
Docker Compose vận hành PostgreSQL, Kafka, Kafka UI, Loki, Promtail và backend/dashboard service trên server MVP với domain công khai.
Phân hệ đã có trong MVP
Các module chính phản ánh trực tiếp trong backend, dashboard và desktop app
Auth & Account
- Google login
- Company SSO
- Shift/OTP login
- Refresh token
- Role-based access
Organization
- User CRUD
- Active/deactivate user
- Department tree
- Role/phòng ban
- Avatar upload/crop
Work Schedule
- Lịch cá nhân
- Lịch phòng ban
- Import Excel
- Preview/commit import
- Capture interval
Tracking Data
- Screenshot upload
- Fingerprint
- Metadata ca làm
- Cleanup worker
- User screenshot timeline
Realtime
- WebSocket device/user
- Online status
- Live screen stream
- Live webcam frame
- Screen RTC flow
Reporting
- Dashboard overview
- Activity logs
- Daily reports
- Public report article
- AI analysis worker
Operations
- System logs
- Container logs
- Kafka topics
- Loki/Promtail
- Health/recover middleware
App Release
- Latest release API
- DMG/EXE/DEB download
- update.json
- SHA-256 verify
- Private GitHub proxy
Vòng đời dữ liệu tracking
Các bước xử lý dữ liệu từ khi người dùng mở app đến khi admin xem báo cáo
Người dùng đăng nhập bằng tài khoản công ty hoặc mã ca làm; backend xác thực và trả phiên đăng nhập hợp lệ.
Desktop app lấy cấu hình user: trạng thái active, phòng ban, lịch làm việc, interval chụp và quyền cần thiết.
Trong khung giờ hợp lệ, app chụp màn hình, thêm watermark, gắn webcam overlay nếu được cấp quyền và đóng gói metadata.
Backend nhận ảnh, lưu metadata, đẩy event qua Kafka và phục vụ dashboard qua API phân quyền.
Worker phân tích/cleanup/daily report xử lý nền để tạo trạng thái, điểm số, coverage, báo cáo ngày và dữ liệu dài hạn.
Admin xem dashboard tổng quan, timeline ảnh, activity log, system log, daily report và cấu hình vận hành tiếp theo.
Deploy và phát hành sản phẩm
Server MVP
Backend và dashboard được đóng gói Docker image, chạy sau reverse proxy, kết nối nội bộ tới database, Kafka và logging stack.
Desktop Release
App được build thành DMG cho macOS, setup EXE cho Windows và DEB cho Linux; version hiện tại trong app là 1.0.5.
Auto-update
App kiểm tra manifest update.json từ backend, chọn đúng artifact theo hệ điều hành, kiểm tra SHA-256 và cài bản mới.
Private Release Proxy
Artifact gốc nằm trong GitHub Release private; backend giữ token server-side và stream file qua URL công khai của LTA.
Daily summary được tạo từ những yếu tố nào?
Báo cáo cuối ngày không chỉ nhìn từng ảnh riêng lẻ. Hệ thống đối chiếu ảnh, metadata, lịch làm việc và tần suất chụp để tạo đánh giá khách quan hơn về một ngày làm việc.
Cách hiểu ngắn gọn
Screenshot cho biết nhân sự đang làm gì; lịch làm việc và interval cho biết đáng lẽ hệ thống phải ghi nhận bao nhiêu lần. Nếu trong giờ làm có khoảng trống lớn, đi trễ hoặc nghỉ sớm, summary sẽ phản ánh như một tín hiệu idle/breaktime/untracked.
Chỉ phục vụ quản lý công việc
Dữ liệu được dùng để đối soát hoạt động trong giờ làm, hỗ trợ admin nhìn tổng quan và trao đổi minh bạch với nhân sự.
Tôn trọng cấu hình thực tế
Mỗi user có interval và lịch làm việc riêng. Summary ưu tiên lịch cá nhân, sau đó mới dùng lịch phòng ban nếu chưa cấu hình riêng.
Báo cáo phải có lý do
Điểm cuối ngày cần đi kèm nhận xét, điểm nổi bật, điểm cần cải thiện, rủi ro và các tín hiệu coverage để admin hiểu vì sao có kết quả đó.
Nguồn dữ liệu dùng để tổng hợp
Các tín hiệu được đưa vào AI và thống kê cuối ngày
Ảnh màn hình
Ảnh chụp theo interval trong giờ làm, kèm thời điểm chụp và nền tảng thiết bị.
Metadata capture
Thông tin user, phòng ban, ca làm, trạng thái phân tích, fingerprint và context ảnh gần nhất.
Lịch và interval
Ca làm cá nhân được ưu tiên; nếu không có thì dùng lịch phòng ban. Interval là tần suất admin set cho từng user.
Webcam nếu có
Nếu thiết bị có camera và được cấp quyền, ảnh webcam overlay hỗ trợ đánh giá presence; không dùng để nhận diện danh tính.
Kết quả AI từng ảnh
Gồm productivity, activity category, presence, screen change, score, reasoning và risk flags.
Coverage/gap
So sánh số ảnh kỳ vọng với số ảnh thực tế để phát hiện thiếu ảnh, gián đoạn app, đi trễ hoặc nghỉ sớm.
Điểm cuối ngày được hiểu như thế nào?
Final score là kết quả tổng hợp, không phải trung bình đơn giản của từng ảnh.
Tỷ lệ làm việc phục vụ công việc như coding, debugging, review, testing, documentation hoặc meeting.
Thời gian breaktime/idle, màn hình không đổi, hoặc khoảng trống trong giờ làm không có bằng chứng hợp lệ.
Trạng thái hiện diện nếu thiết bị có webcam; thiết bị không có camera sẽ không bị phạt presence.
Nội dung private, non-work, unknown, ảnh phân tích lỗi hoặc dữ liệu không đủ để kết luận chắc chắn.
Các trường hợp chính sách có thể ghi nhận
Những tín hiệu này giúp admin hiểu vì sao summary đưa ra nhận xét hoặc giảm điểm.
Vào làm trễ
Ảnh đầu tiên trong ca xuất hiện muộn hơn giờ bắt đầu theo lịch và vượt ngưỡng interval cho phép.
Tắt app hoặc gián đoạn chụp
Khoảng cách giữa hai ảnh vượt quá interval; được xem là untracked nếu không có bằng chứng hợp lệ khác.
Nghỉ sớm
Ảnh cuối cùng kết thúc trước giờ tan ca theo lịch, tạo early shutdown flag trong coverage.
Giới hạn riêng tư
AI không nhận diện danh tính qua webcam và không suy đoán dữ liệu cá nhân ngoài nhu cầu đánh giá công việc.
Chức năng chính
Nội dung được tổng hợp từ desktop app, backend API và dashboard quản trị hiện có.
Ghi nhận màn hình làm việc
Ứng dụng chụp màn hình định kỳ trong khung giờ làm việc được cấu hình cho từng nhân sự hoặc phòng ban.
Theo lịch làm việc
App lấy lịch làm việc, phòng ban và tần suất chụp từ backend, sau đó tự động dừng ngoài khung giờ áp dụng.
Watermark minh bạch
Ảnh ghi nhận có watermark LTA Tracking App, thời gian chụp và tên hoặc mã nhân sự để phục vụ đối soát.
Webcam khi được cấp quyền
Khi thiết bị có webcam, ứng dụng có thể xin quyền camera và gắn khung webcam nhỏ vào ảnh làm việc.
Kết nối thời gian thực
Desktop app duy trì kết nối WebSocket với hệ thống để hiển thị trạng thái online và đồng bộ phiên làm việc.
Báo cáo và AI
Backend lưu metadata, trạng thái phân tích, điểm năng suất, daily report và các tín hiệu cần quản lý theo ngày.
Quyền truy cập cần biết
Các quyền này phục vụ trực tiếp cho việc xác thực, chụp màn hình, đồng bộ dữ liệu và vận hành theo chính sách công ty.
Tài khoản công ty
Người dùng đăng nhập bằng Google. Backend chỉ cho phép tài khoản còn active tiếp tục sử dụng app.
Screen Recording
macOS cần quyền Screen Recording để app chụp được màn hình. Windows hiện không cần quyền hệ thống tương đương.
Camera
Quyền webcam chỉ được yêu cầu khi thiết bị có camera và phục vụ ghi nhận hình ảnh làm việc trong khung nhỏ.
Phiên đăng nhập
Access token được dùng để upload dữ liệu, refresh token được dùng để làm mới phiên khi app còn đăng nhập.
Câu hỏi thường gặp và điều khoản sử dụng.
Điều khoản sử dụng tóm tắt
- Ứng dụng chỉ dành cho nhân sự nội bộ được công ty cho phép sử dụng.
- Người dùng cần cấp đúng quyền hệ điều hành để app hoạt động ổn định trong giờ làm việc.
- Dữ liệu màn hình, thời gian chụp, nền tảng, lịch làm việc và thông tin tài khoản được gửi về hệ thống quản trị.
- Quản trị viên có thể xem dữ liệu theo phân quyền phòng ban, tài khoản admin và super admin.
- Người dùng không nên dùng app cho thiết bị cá nhân hoặc dữ liệu riêng tư nếu chưa được công ty phê duyệt.

