Đặ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.

Light
Giao diện LTA Tracking App hiển thị hồ sơ nhân sự, quyền ghi màn hình, webcam và kết nối thời gian thực
Đối tượng
Nhân sự nội bộ
Thời điểm
Theo lịch làm việc
Truy cập
SSO xác thực tập trung
Dữ liệu
Ảnh và metadata
Đặc tả hệ thống

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

1

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ệ.

2

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.

3

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.

4

Backend nhận ảnh, lưu metadata, đẩy event qua Kafka và phục vụ dashboard qua API phân quyền.

5

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.

6

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.

Chính sách summary

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.

productive / dev-work

Tỷ lệ làm việc phục vụ công việc như coding, debugging, review, testing, documentation hoặc meeting.

breaktime / idle / gap

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ệ.

present / away / no_camera

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.

private / non-work / unknown

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.

Q&A

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.

App hoạt động sau khi người dùng đăng nhập và lấy được cấu hình từ backend. Việc chụp màn hình được thực hiện trong khung giờ làm việc đã cấu hình.