Bối cảnh và vấn đề nghiên cứu
Trong hoạt động quản trị doanh nghiệp hiện đại, quy trình chấm công truyền thống đòi hỏi nhân viên phải có mặt trực tiếp tại phòng nhân sự hoặc đứng xếp hàng tại các trạm máy chấm công cố định gây mất nhiều thời gian. Đối với các đơn vị có quy mô nhân sự lớn, nhiều chi nhánh hoặc có nhân sự thường xuyên làm việc lưu động tại nhiều địa điểm khác nhau, việc kiểm soát thời gian làm việc bằng thiết bị cố định bộc lộ nhiều bất cập, khó xác thực chính xác danh tính và địa điểm làm việc thực tế.
Xuất phát từ thực trạng trên, đề tài tập trung giải quyết bài toán xây dựng hệ thống chấm công trên thiết bị di động cá nhân kết hợp công nghệ nhận diện khuôn mặt và định vị tọa độ, đồng thời cung cấp giao diện quản trị web giúp người quản lý giám sát dữ liệu chấm công theo thời gian thực. Đề tài được thực hiện nhằm giúp doanh nghiệp giảm thiểu thời gian thực hiện chấm công, tăng tính minh bạch, nâng cao độ chính xác và tạo điều kiện thuận lợi cho nhân sự làm việc tại các địa điểm xa trụ sở.
Các mục tiêu nghiên cứu và triển khai cụ thể của đề tài bao gồm:
- Xây dựng dịch vụ (service) nhận diện khuôn mặt phục vụ xác thực nhân sự.
- Xây dựng chức năng định vị tọa độ GPS và thuật toán tính toán khoảng cách so với vị trí văn phòng.
- Cung cấp phân hệ ứng dụng web cho cấp quản lý theo dõi và kiểm soát tình hình chấm công.
- Triển khai ứng dụng theo kiến trúc Microservice trên nền tảng Docker kết hợp Kong API Gateway.
- Thực hiện giải pháp cân bằng tải bằng Nginx, PM2 và Kong API Gateway.
- Đóng gói và phát hành ứng dụng di động lên kho ứng dụng Google Play (CH Play).
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Ứng dụng chấm công dành cho các doanh nghiệp vừa và nhỏ có nhu cầu quản lý chặt chẽ thao tác chấm công và tối ưu hóa tính tiện lợi cho nhân sự.
- Phạm vi nghiên cứu: Nghiệp vụ quản lý chấm công doanh nghiệp; công nghệ nhận diện khuôn mặt dựa trên thị giác máy tính; mô hình kiến trúc Microservice; các framework và công nghệ phần mềm chuyên dụng (Flutter/Dart, ReactJS, NestJS/NodeJS, Flask/Python, Docker, Kong API Gateway, Nginx, PM2, Redis).
Cơ sở lý thuyết và phương pháp
Đề tài vận dụng lý thuyết phát triển phần mềm theo định hướng phân tán, thị giác máy tính và phân tích dữ liệu địa lý để xây dựng hệ thống:
- Kiến trúc Microservice và Quản lý API: Tách biệt các phân hệ chức năng thành các service độc lập (Core Backend API, Face Recognition Service); sử dụng Kong API Gateway để định tuyến request, hợp nhất các điểm cuối (endpoint) và hỗ trợ cân bằng tải.
- Thị giác máy tính và Nhận diện khuôn mặt: Ứng dụng thư viện
Face Recognition trên nền tảng Python để trích xuất đặc trưng vector khuôn mặt, lưu trữ tập dữ liệu huấn luyện (dataset/datatraining) và so khớp nhận diện khi nhân viên điểm danh.
- Công nghệ định vị và tính toán khoảng cách: Thu nhận tọa độ kinh độ, vĩ độ từ cảm biến GPS của thiết bị di động, so sánh với tọa độ gốc và bán kính cho phép được cấu hình tại bảng vị trí văn phòng.
- Tối ưu hóa hàng đợi và bộ nhớ đệm: Sử dụng Redis làm cơ sở dữ liệu in-memory để xử lý hàng đợi (queue) cho chức năng chấm công, giảm thiểu tải tức thời khi phát sinh lượng lớn request đồng thời.
Tác giả sử dụng ba phương pháp nghiên cứu chính:
- Phương pháp tổng hợp lý thuyết: Thu thập, đọc và tổng hợp các tài liệu chuyên ngành về kiến trúc Microservice, công nghệ nhận diện khuôn mặt, các framework lập trình và công cụ triển khai hệ thống.
- Phương pháp chuyên gia: Tham khảo ý kiến định hướng từ giảng viên hướng dẫn và các kỹ sư có kinh nghiệm chuyên môn nhằm chuẩn hóa giải pháp kỹ thuật và đảm bảo tính khả thi của đề tài.
- Phương pháp mô hình hóa: Phân tích quy trình nghiệp vụ, mô hình hóa hệ thống từ giai đoạn khảo sát, đặc tả yêu cầu (Use Case), biểu đồ tuần tự (Sequence Diagram), sơ đồ luồng dữ liệu (DFD) đến thiết kế cơ sở dữ liệu và giao diện hoàn chỉnh.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc phân tán Microservice, phân tách rõ ràng giữa tầng hiển thị (Front-end), tầng cổng giao tiếp (API Gateway), tầng dịch vụ nghiệp vụ (Back-end Services) và tầng dữ liệu/hàng đợi.
| Thành phần hệ thống |
Công nghệ / Nền tảng sử dụng |
Vai trò chức năng |
| Mobile App |
Flutter (Ngôn ngữ Dart) |
Ứng dụng đa nền tảng cho nhân viên và quản lý (chấm công, định vị, gửi yêu cầu nghỉ) |
| Web App |
ReactJS |
Ứng dụng web dành cho cấp quản lý (quản lý nhân sự, theo dõi nhật ký, duyệt request) |
| Core API Service |
NestJS (NodeJS) |
Xử lý logic nghiệp vụ trung tâm, quản lý dữ liệu người dùng, thiết bị, chấm công |
| AI Vision Service |
Flask (Python), Thư viện Face Recognition |
Xử lý trích xuất vector khuôn mặt, huấn luyện dữ liệu và đối soát nhận diện hình ảnh |
| API Gateway |
Kong API Gateway |
Hợp nhất endpoint, định tuyến request đến các service nội bộ, hỗ trợ cân bằng tải |
| Web Server / Reverse Proxy |
Nginx |
Điều hướng lưu lượng mạng, reverse proxy và cân bằng tải hệ thống |
| Process Manager |
PM2 |
Quản lý tiến trình hoạt động của các dịch vụ NodeJS/NestJS |
| Queue & Caching |
Redis |
Bộ đệm và xử lý hàng đợi cho luồng chấm công để tránh nghẽn hệ thống |
| Môi trường triển khai |
Docker, Ubuntu Server |
Container hóa toàn bộ các dịch vụ phục vụ môi trường phát triển và vận hành thực tế |
Quy trình vận hành xác thực chấm công được triển khai qua cơ chế kép: Hệ thống tiếp nhận mã định danh nhân viên, hình ảnh chụp trực tiếp và tọa độ GPS từ Mobile App. Backend gửi hình ảnh sang AI Vision Service để tính toán độ tương đồng khuôn mặt, đồng thời tính toán khoảng cách tọa độ thực tế so với vị trí văn phòng. Kết quả chỉ được xác nhận hợp lệ khi cả độ chính xác khuôn mặt và khoảng cách địa lý đều thỏa mãn ngưỡng thiết lập trong bảng cấu hình (config).
Nội dung chính theo từng chương
Chương 1: Khảo sát hiện trạng
Tác giả tiến hành khảo sát và đánh giá 5 giải pháp phần mềm chấm công hiện có trên thị trường:
| Ứng dụng khảo sát |
Ưu điểm chính |
Nhược điểm / Hạn chế còn tồn tại |
| Tanca |
Phân chia ca rõ ràng; phân quyền hợp lý; có tính năng xin nghỉ; ràng buộc qua Wi-Fi/bán kính; tích hợp Google Maps API. |
Điều kiện kiểm tra còn hạn chế; giao diện chính còn đơn giản. |
| XworkerBee |
Giao diện đơn giản, chuyên biệt; sử dụng định vị GPS và chụp hình ảnh khuôn mặt. |
Chỉ lưu hình ảnh chứ không có AI nhận diện khuôn mặt; không khoanh vùng bán kính; chỉ chạy trên Android. |
| Mobiwork DMS |
Kiểm tra dựa trên GPS; hỗ trợ báo cáo hàng tháng; thời gian ca làm việc rõ ràng; giao diện bắt mắt. |
Điều kiện kiểm tra đơn giản; thời gian tan ca chưa tối ưu; chưa có khoanh vùng check-in; chỉ hỗ trợ Android. |
| PtrackerERP |
Quản lý danh sách ca, hệ thống đại lý/chi nhánh; kiểm tra vị trí qua GPS và ảnh chụp nơi làm việc. |
Chưa có tính năng nhận diện khuôn mặt; không có khoanh vùng hợp lệ; chỉ hỗ trợ nền tảng Android. |
| Time Punch Hanbiro |
Phân quyền quản lý - nhân viên; tích hợp Google Maps API; phân chia ca làm việc tự động. |
Điều kiện kiểm tra đơn giản; ứng dụng chỉ phát hành trên nền tảng iOS. |
Từ kết quả khảo sát, đề tài rút ra các yêu cầu cốt lõi cần xây dựng: Nhận diện khuôn mặt tự động bằng camera; xác định tọa độ GPS và khoanh vùng bán kính; hỗ trợ kiểm tra kết hợp IP Wi-Fi; phân hệ giám sát trực quan cho người quản lý; cho phép định vị lại tọa độ văn phòng trực tiếp từ ứng dụng di động.
Chương 2: Tiếp nhận yêu cầu
Chương 2 mô hình hóa hệ thống thông qua biểu đồ Use Case tổng thể và chi tiết hóa 19 nghiệp vụ phân bổ cho các tác nhân (Actor): Nhân viên, Quản lý, và Khách/Thiết bị.
- Nghiệp vụ dành cho Nhân viên: Đăng nhập (
QD_DangNhap, biểu mẫu BM_DangNhap), Quản lý thông tin cá nhân (QD_QuanLiThongTin, các biểu mẫu BM_ThongTinCaNhan_View, Update, Confirm), Xem nhật ký chấm công cá nhân (QD_XemNhatKi, BM_XemNhatKi), Chấm công (QD_ChamCong, các biểu mẫu BM_ChamCong_Send, BM_ChamCong_Wait, BM_ChamCong_View).
- Nghiệp vụ dành cho Quản lý: Bao gồm toàn bộ các quyền của nhân viên cùng các nghiệp vụ nâng cao: Định vị tọa độ (
QD_DinhViToaDo, BM_DinhViToaDo), Đăng xuất (BM_DangXuat), Thêm nhân viên (QD_ThemNhanVien, BM_QuanLiThongTin), Sửa nhân viên (QD_SuaNhanVien), Xóa nhân viên (QD_XoaNhanVien, BM_DanhSachNhanVien), Kích hoạt nhân viên (QD_KichHoatNhanVien, BM_KichHoatNhanVien), Xem toàn bộ lịch sử chấm công (BM_XemLichSuChamCong), Thêm/Sửa/Xóa người dùng (QD_ThemNguoiDung, QD_SuaNguoiDung, QD_XoaNguoiDung), Thêm/Sửa/Xóa yêu cầu nghỉ (QD_ThemYeuCauNghi, QD_SuaYeuCauNghi, QD_XoaYeuCauNghi), Chấp thuận/Từ chối yêu cầu, Sửa ngày nghỉ.
- Nghiệp vụ phía Thiết bị: Đăng nhập, Kích hoạt tài khoản/thiết bị (
QD_KichHoatTaiKhoan, BM_KichHoatTaiKhoan).
- Các quy định ràng buộc (Quy định dữ liệu): Ràng buộc kết nối Internet và GPS khi chấm công hoặc định vị; quy định định dạng văn bản (không bỏ trống, tên chỉ chứa ký tự thường, kiểm tra biểu thức chính quy Regex cho số điện thoại và email); quy định mật khẩu trùng khớp; quy định điều kiện kích hoạt nhân viên (phải có đủ ảnh đại diện để mã hóa); quy định xóa nhân viên (phải hủy kích hoạt trước); quy định gửi yêu cầu nghỉ (số ngày nghỉ tích lũy phải lớn hơn hoặc bằng số ngày xin nghỉ).
Chương 3: Mô hình hóa yêu cầu
Tác giả xây dựng sơ đồ luồng dữ liệu (DFD), bảng mô tả luồng dữ liệu (từ D1 đến D6), biểu đồ tuần tự (Sequence Diagram) và các bước thuật toán chi tiết cho 11 nghiệp vụ trọng tâm:
- Kích hoạt ứng dụng: Tiếp nhận mã kích hoạt D1, truy vấn bảng
employee (D3), kiểm tra trạng thái kích hoạt. Nếu chưa kích hoạt thì khởi tạo thiết bị mới trong bảng device, hoàn tất và trả về kết quả D6.
- Thêm nhân viên: Tiếp nhận D1 (tên, địa chỉ, email, số điện thoại, bộ phận làm việc), kiểm tra trùng lặp email với bảng
employee. Nếu hợp lệ, ghi dữ liệu vào bảng employee và tạo tập dataset tương ứng.
- Kích hoạt nhân viên: Nhận
employee_id, kiểm tra ảnh đại diện trong bảng employee. Tiến hành mã hóa hình ảnh thành vector, tạo bản ghi datatraining lưu vào dataset, cập nhật trạng thái kích hoạt thành true.
- Đăng xuất: Tiếp nhận thông tin tài khoản đã đăng nhập D1 và xử lý hủy phiên làm việc.
- Đăng nhập: Tiếp nhận tài khoản, mật khẩu D1, đối soát thông tin với bảng
user, cấp quyền và điều hướng về màn hình chính.
- Định vị tọa độ: Nhận bán kính D1 từ quản lý và tọa độ kinh/vĩ độ D2 từ cảm biến thiết bị, cập nhật thông tin vào bảng
location.
- Xem toàn bộ nhật ký chấm công: Truy vấn kết hợp dữ liệu từ 4 bảng
employee, timetracking, device, location để hiển thị báo cáo tổng hợp cho quản lý.
- Xem nhật ký chấm công cá nhân: Tiếp nhận
employee_id từ thiết bị cá nhân D2, truy vấn dữ liệu chấm công tương ứng từ các bảng employee, timetracking, device, location.
- Chấm công: Tiếp nhận mã nhân viên, ảnh chụp thực tế (D1), mã thiết bị và tọa độ GPS (D2). Hệ thống gọi module nhận diện khuôn mặt từ ảnh, đồng thời tính khoảng cách giữa tọa độ D2 với tọa độ văn phòng trong bảng
location. Đối soát tỉ lệ chính xác và khoảng cách với ngưỡng cấu hình trong bảng config. Nếu hợp lệ, lưu bản ghi vào timetracking và xuất thông báo D6.
- Thêm người dùng: Kiểm tra tính duy nhất của
username trong bảng user, lưu thông tin tài khoản và vai trò phân quyền.
- Thêm yêu cầu nghỉ: Tiếp nhận thông tin yêu cầu D1, kiểm tra số ngày nghỉ tích lũy trong hệ thống. Nếu thỏa điều kiện (tích lũy $\ge$ yêu cầu), lưu bản ghi vào bảng
request.
Chương 4: Thiết kế cơ sở dữ liệu
Hệ thống xây dựng cấu trúc cơ sở dữ liệu quan hệ phục vụ lưu trữ đồng bộ dữ liệu nghiệp vụ và dữ liệu đào tạo AI, bao gồm các bảng thực thể chính:
employee: Lưu trữ thông tin định danh, hồ sơ nhân viên, email, số điện thoại, trạng thái kích hoạt.
department: Lưu thông tin các phòng ban/bộ phận trực thuộc doanh nghiệp.
user: Quản lý tài khoản đăng nhập, mật khẩu mã hóa, vai trò (role) người dùng.
device: Lưu thông tin định danh các thiết bị di động đã được kích hoạt trong hệ thống.
location: Lưu tọa độ địa lý (kinh độ, vĩ độ) và bán kính cho phép chấm công của văn phòng.
timetracking: Lưu nhật ký chấm công chi tiết (thời gian, nhân viên, thiết bị, trạng thái xác thực).
request: Lưu trữ các yêu cầu xin nghỉ phép, thời gian bắt đầu, kết thúc, lý do và trạng thái phê duyệt.
config: Lưu trữ các thông số cấu hình hệ thống (ngưỡng sai số khoảng cách GPS, độ chính xác nhận diện khuôn mặt tối thiểu).
dataset & datatraining: Lưu trữ các vector đặc trưng và chuỗi mã hóa khuôn mặt phục vụ cho thuật toán nhận diện.
Chương 5: Thiết kế giao diện
Chương này mô tả chi tiết hệ thống giao diện người dùng được phân chia theo hai nền tảng:
- Phân hệ Mobile App: Thiết kế giao diện kích hoạt tài khoản/thiết bị, màn hình chức năng nhân viên, màn hình chấm công (tích hợp camera và hiển thị tọa độ), màn hình tra cứu nhật ký cá nhân, màn hình đăng nhập quản trị, giao diện thiết lập định vị văn phòng, và giao diện gửi/quản lý yêu cầu xin nghỉ.
- Phân hệ Web App: Thiết kế giao diện đăng nhập (Login Web), bảng điều khiển quản lý nhân viên, giao diện theo dõi nhật ký chấm công tập trung, màn hình quản lý tài khoản người dùng, giao diện xem chi tiết hồ sơ - phê duyệt kích hoạt khuôn mặt nhân viên, và giao diện tiếp nhận/xử lý danh sách yêu cầu nghỉ phép.
Chương 6: Lập trình
Trình bày việc hiện thực hóa các chức năng bằng ngôn ngữ và công nghệ:
- Xây dựng giao diện di động đa nền tảng bằng ngôn ngữ Dart với framework Flutter.
- Xây dựng hệ thống quản trị Web bằng thư viện ReactJS.
- Lập trình hệ thống dịch vụ Backend API bằng NestJS (TypeScript/NodeJS).
- Xây dựng dịch vụ xử lý AI nhận diện khuôn mặt bằng Flask (Python) tích hợp thư viện Face Recognition.
- Cấu hình kết nối hệ quản trị cơ sở dữ liệu và triển khai tích hợp giữa các module.
Chương 7: Kiểm thử phần mềm
Xây dựng quy trình kiểm thử và kế hoạch kiểm thử phần mềm chi tiết. Tác giả tiến hành kiểm thử các chức năng nghiệp vụ (đăng nhập, chấm công, thêm/sửa/xóa dữ liệu, tính toán khoảng cách GPS, nhận diện khuôn mặt, gửi duyệt request) nhằm đảm bảo tính ổn định và tính chính xác của hệ thống trước khi đóng gói triển khai.
Kết quả và đóng góp
Kết quả đạt được
- Xây dựng thành công ứng dụng Web dành cho người quản lý với đầy đủ tính năng theo dõi, giám sát nhật ký chấm công và phê duyệt yêu cầu.
- Hoàn thiện ứng dụng di động (Mobile App) hỗ trợ nhân viên thực hiện chấm công linh hoạt tại mọi địa điểm thông qua nhận diện khuôn mặt và định vị tọa độ.
- Thiết kế hệ thống giao diện đơn giản, trực quan, tối ưu trải nghiệm người dùng trên cả nền tảng di động và web.
- Triển khai thành công toàn bộ hệ thống theo kiến trúc Microservice, tích hợp Docker container trên môi trường máy chủ Ubuntu Server.
- Thiết lập thành công cơ chế điều hướng, cân bằng tải thông qua Kong API Gateway, Nginx, PM2 và tối ưu hàng đợi với Redis.
- Đóng gói và phát hành thành công ứng dụng di động lên kho ứng dụng Google Play (CH Play).
Ưu điểm và đóng góp của đề tài
- Giải quyết bài toán chấm công linh hoạt: Khắc phục triệt để nhược điểm của các dòng máy chấm công truyền thống cố định, đáp ứng nhu cầu làm việc từ xa, làm việc lưu động hoặc doanh nghiệp có nhiều văn phòng chi nhánh.
- Xác thực đa yếu tố nâng cao độ tin cậy: Khắc phục hạn chế của các ứng dụng khảo sát trên thị trường (vốn chỉ chụp ảnh thông thường hoặc chỉ dựa vào GPS đơn thuần) bằng việc kết hợp đồng thời công nghệ nhận diện khuôn mặt bằng AI và khoanh vùng bán kính GPS.
- Kiến trúc hệ thống hiện đại, dễ mở rộng: Việc áp dụng Microservice, Docker và Kong API Gateway giúp các dịch vụ hoạt động độc lập, dễ dàng nâng cấp, bảo trì và mở rộng quy mô khi số lượng nhân sự tăng cao.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Văn bản đề tài ghi nhận hệ thống vẫn còn một số điểm cần tiếp tục tối ưu hóa về tốc độ xử lý nhận diện trong điều kiện mạng yếu, cũng như cần mở rộng thêm các kịch bản kiểm thử tải trọng lớn trong môi trường thực tế.
- Hướng phát triển: Tác giả định hướng tiếp tục nghiên cứu nâng cao độ chính xác của thuật toán nhận diện khuôn mặt dưới nhiều điều kiện ánh sáng phức tạp; phát triển thêm tính năng chấm công kết hợp xác thực qua địa chỉ IP Wi-Fi nội bộ; tích hợp sâu hơn các module tính lương tự động dựa trên dữ liệu chấm công thực tế; và tối ưu hóa hiệu năng xử lý hàng đợi trên nền tảng đám mây.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin:
- Tham khảo về kiến trúc phần mềm: Cung cấp phương pháp thiết kế và triển khai thực tế mô hình Microservice kết hợp Docker, Kong API Gateway, NestJS và Flask.
- Tham khảo về tích hợp AI vào sản phẩm: Hướng dẫn chi tiết quy trình xây dựng dịch vụ nhận diện khuôn mặt (Face Recognition) từ khâu tiếp nhận ảnh đại diện, trích xuất vector đặc trưng, lưu trữ dataset/datatraining đến xử lý so khớp thời gian thực.
- Tham khảo về mô hình hóa nghiệp vụ: Cung cấp hệ thống biểu mẫu quy định nghiệp vụ, sơ đồ Use Case, DFD và các bước giải thuật xử lý rõ ràng, có thể áp dụng cho các đề tài quản trị nhân sự (HRM) và quản lý doanh nghiệp.
Câu hỏi thường gặp
1. Hệ thống sử dụng những điều kiện gì để xác thực một lượt chấm công là hợp lệ?
Hệ thống áp dụng cơ chế xác thực kép: Nhân viên gửi mã nhân viên, ảnh chụp trực tiếp từ camera và tọa độ GPS từ điện thoại. Hệ thống sẽ so khớp ảnh chụp với vector đặc trưng khuôn mặt trong cơ sở dữ liệu (Face Recognition) và tính khoảng cách từ vị trí GPS đến tọa độ văn phòng trong bảng location. Lượt chấm công chỉ thành công khi cả tỉ lệ nhận diện khuôn mặt và khoảng cách địa lý đều thỏa mãn ngưỡng quy định trong bảng config.
2. Quá trình kích hoạt khuôn mặt cho nhân viên mới diễn ra như thế nào?
Quản lý thực hiện nghiệp vụ kích hoạt nhân viên (QD_KichHoatNhanVien). Hệ thống kiểm tra ảnh đại diện của nhân viên trong bảng employee, tiến hành mã hóa hình ảnh thành chuỗi dữ liệu đặc trưng (datatraining), lưu vào bảng dataset tương ứng của nhân viên đó và chuyển trạng thái kích hoạt (status) sang true.
3. Vai trò của Kong API Gateway và Redis trong kiến trúc hệ thống là gì?
Kong API Gateway đóng vai trò làm điểm tiếp nhận trung tâm, gom tất cả các API về cùng một endpoint duy nhất, điều hướng request đến các service nội bộ (NestJS, Flask) và hỗ trợ cân bằng tải. Redis được sử dụng làm caching database và xử lý hàng đợi (queue) cho chức năng chấm công nhằm giảm tải số lượng request cần xử lý đồng thời tại các khung giờ cao điểm.
4. Ứng dụng di động của hệ thống được phát triển bằng công nghệ gì và hỗ trợ các nền tảng nào?
Ứng dụng di động được xây dựng bằng framework Flutter (ngôn ngữ Dart) cho phép phát triển đa nền tảng, được thiết kế cho cả nhân viên và quản lý, đồng thời đã được đóng gói và phát hành lên kho ứng dụng Google Play (CH Play).
Kết luận
Đồ án tốt nghiệp "Xây Dựng Ứng Dụng Chấm Công Hiện Đại Cho Doanh Nghiệp" đã giải quyết thành công bài toán quản lý chấm công linh hoạt, minh bạch cho doanh nghiệp thông qua việc kết hợp công nghệ nhận diện khuôn mặt AI và định vị GPS trên thiết bị di động. Hệ thống được thiết kế hoàn chỉnh từ khâu khảo sát hiện trạng, mô hình hóa nghiệp vụ, thiết kế cơ sở dữ liệu đến lập trình triển khai theo kiến trúc Microservice với Docker, Kong API Gateway, NestJS, Flutter và ReactJS. Đề tài đạt được đầy đủ các mục tiêu đề ra và có giá trị thực tiễn cao trong việc ứng dụng công nghệ thông tin vào chuyển đổi số hoạt động quản trị nhân sự.