Note: To access all shared projects, get information about environment setup, and view other guides, please visit Explore-In-HMOS-Wearable Index.
Beacon Based Attendance is a smartwatch application built with ArkTS and ArkUI on HarmonyOS.
It enables automatic attendance tracking using beacon technology. When a user approaches a registered beacon, the watch app detects it and records the attendance entry seamlessly.
The app is designed for schools, universities, and workplaces where manual check-ins are replaced with a contactless, secure, and background-enabled attendance system.
- School Attendance: Students can check in automatically when they enter the classroom with their smartwatch.
- Workplace Check-in: Employees’ attendance is recorded by detecting beacon devices installed at office entrances.
- Event Management: Participants automatically register when entering a conference or event hall.
- Background Tracking: Even if the app is not active, beacon scanning can run in the background for reliable attendance.
- Languages: ArkTS
- Frameworks: ArkUI, HarmonyOS 5.1.0(18)
- Kits Used:
- Connectivity Kit (BLE Scanning & Beacon detection)
- Background Tasks Kit (Keep scanning alive in background)
- Performance Analysis Kit (Logging with HiLog)
- Basic Services Kit (Error handling with BusinessError)
├── core
│ ├── base
│ │ └── BaseModel
│ │ └── DurationModel
│ ├── bluetooth
│ │ └── BleManager
│ ├── logger
│ │ └── LogManager
│ ├── navigation
│ │ └── NavigationManager
│ ├── permission
│ │ └── PermissionManager
│ ├── storage
│ │ └── StorageManager
├── feature
│ ├── dashboard
│ │ └── model
│ │ │ └── AttendanceListModel
│ │ │ └── AttendanceModel
│ │ └── state
│ │ │ └── DashboardState
│ │ │ └── IDashboardState
│ │ └── utils
│ │ │ └── constants
│ │ │ │ └── CacheConstants
│ │ │ │ └── NavigationConstants
│ │ └── view
│ │ │ └── DashboardView
│ │ └── viewModel
│ │ └── DashboardViewModel
│ ├── history
│ │ └── model
│ │ │ └── AttendanceListModel
│ │ │ └── AttendanceModel
│ │ └── constants
│ │ │ └── CacheConstants
│ │ │ └── NavigationConstants
│ │ └── state
│ │ │ └── HistoryState
│ │ │ └── IHistoryState
│ │ └── view
│ │ │ └── HistoryView
│ │ └── viewModel
│ │ └── HistoryViewModel
│ ├── splash
│ │ └── constants
│ │ │ └── NavigationConstants
│ │ └── state
│ │ │ └── SplashState
│ │ │ └── ISplashState
│ │ └── view
│ │ │ └── SplashView
│ │ └── viewModel
│ │ └── SplashViewModel
│ ├─── pages
│ │ └─── Index.ets
- Beacon detection depends on BLE signal strength (RSSI) and environmental factors.
- The app requires Bluetooth enabled on the smartwatch.
- Continuous background scanning may affect battery consumption.
- Internet connection is optional; attendance can be stored locally and synced later.
- Huawei Watch 5
Beacon Based Attendance is distributed under the terms of the MIT License. See the LICENSE for more information.