Giới thiệu về PunchClock
PunchClock là ứng dụng quản lý chấm công thông minh dành cho thiết bị iOS phiên bản 7.0 trở lên, được phát triển với khả năng tích hợp công nghệ iBeacon và Geofencing. Ứng dụng này mang đến giải pháp tự động hóa việc ghi nhận thời gian ra vào cho doanh nghiệp, giúp quản lý nhân sự trở nên đơn giản và hiệu quả hơn.
Tính năng chính
Hệ thống PunchClock cung cấp các tính năng nổi bật sau:
- Nhận diện iBeacon: Tự động ghi nhận thời gian đến và rời đi khi nhân viên tiếp cận các thiết bị iBeacon được đặt tại văn phòng
- Geofencing: Thiết lập ranh giới ảo để kích hoạt chấm công khi nhân viên di chuyển vào hoặc ra khỏi khu vực được chỉ định
- Theo dõi trạng thái: Hiển thị thời gian thực tình trạng làm việc của nhân viên, hỗ trợ quản lý nhóm hiệu quả
Cài đặt và cấu hình
Yêu cầu hệ thống
Trước khi bắt đầu cài đặt, hãy đảm bảo thiết bị của bạn đáp ứng các điều kiện sau:
- Thiết bị chạy iOS 7.0 hoặc cao hơn
- Hỗ trợ Bluetooth 4.0 để sử dụng tính năng iBeacon
- Đã bật quyền truy cập vị trí (Location Services)
Tải mã nguồn
Sử dụng câu lệnh sau để clone dự án về máy:
git clone https://gitcode.com/gh_mirrors/pu/PunchClock
Cấu hình tham số
Sau khi tải dự án, thực hiện các bước cấu hình sau:
- Mở file
PunchClock.xcodeprojtrong Xcode - Đổi tên file
constants.h.samplethànhconstants.h - Chỉnh sửa nội dung file để thiết lập identifier cho iBeacon:
#define kBeaconRegionID @"vn.company.office-beacon"
#define kGeofenceRadius 75.0
Hướng dẫn sử dụng các tính năng
Tab Information
Tab Information trong ứng dụng hiển thị dữ liệu vị trí thời gian thực được trả về từ Core Location. Đây là công cụ hữu ích để:
- Xác định vị trí tối ưu cho việc đặt thiết bị iBeacon
- Tinh chỉnh các thông số Geofencing
- Chẩn đoán và khắc phục sự cố liên quan đến theo dõi vị trí
Lưu ý: Người dùng có thể thay đổi tên hiển thị bằng cách nhấn vào tên cá nhân. Tuy nhiên, server hiện tại chưa đồng bộ tự động các thay đổi này, điều có thể dẫn đến việc tạo ra các bản ghi mới.
Quản lý trạng thái và tin nhắn
Ứng dụng cung cấp các thành phần giao diện để hiển thị trạng thái và quản lý tin nhắn:
- Hiển thị trạng thái: được triển khai thông qua các file
PCStatusLabel.hvàPCStatusLabel.m - Tin nhắn nhóm: được quản lý bởi
PCMessageTableViewController
Cấu hình nâng cao
Tối ưu hóa iBeacon
Để đạt hiệu quả cao nhất với tính năng iBeacon, cần lưu ý các điểm sau:
- Đặt thiết bị iBeacon ở những vị trí nhân viên thường xuyên qua lại
- Cân bằng giữa công suất phát và tần suất quét để tối ưu thời lượng pin
- Chỉnh sửa logic monitoring iBeacon trong file
PCLocationManager.m
Điều chỉnh Geofencing
Khi thiết lập bán kính Geofencing, cần xem xét quy mô và bố trí khu vực văn phòng:
- Bán kính khuyến nghị: từ 50-100 mét
- Thiết lập ngưỡng kích hoạt phù hợp cho sự kiện vào/ra
- Sử dụng tab Information để theo dõi và đánh giá hiệu quả
Cấu trúc điều hướng
Giao diện ứng dụng được tổ chức theo mô hình tab bar với các phần chính:
- Status: Hiển thị trạng thái chấm công hiện tại và lịch sử
- Messages: Truy cập tin nhắn và thông báo từ nhóm
- Team: Xem trạng thái các thành viên trong nhóm
- Information: Quản lý thông tin cá nhân và xem dữ liệu vị trí
Việc chuyển đổi giữa các tính năng được thực hiện thông qua PCTabBarController nằm ở phía dưới màn hình.
Lưu ý khi sử dụng
- Tối ưu pin: Dịch vụ vị trí tiêu tốn nhiều năng lượng, nên tắt ứng dụng khi không cần thiết
- Kết nối mạng: Việc đồng bộ dữ liệu chấm công yêu cầu kết nối mạng ổn định
- Cấp quyền: Lần đầu sử dụng cần cấp quyền Location Services và Notifications
- Nhiều thiết bị: Một tài khoản có thể đăng nhập trên nhiều thiết bị, nhưng tránh chấm công trùng lặp