Data Syncing from Attendance Devices to Database using APIs — 2
Project detail
I need a utility to read the attendance/users data from Anviz/ZKTeco Biometric devices, save it in a local database, then depending upon the internet availability will sync the data with an online server.
I have already got this developed, but that is not stable and not performing as required. I can share the code for reference only.
The minimum required features of the system are as follows:
1 Login Screen
user will be authenticated using API
save in local database, if app closed & re-opened, user will be logged in automatically based on previous data
2 Settings Screen
– Option to set Time Interval to check new attendance data from device and sync with server
– Option to Delete Attendance Data from Devices
– Option to Delete Invalid Records from local database, which failed to sync due to any reason
– Reset Data option, to reload the Users data from APIs
3- Devices Management
Option to Add/Edit/Delete Device in the System using IP Address, Port & Other settings
4- Users Management
Fetch the Users List from API, save it in local Database,
fetch the users from devices, link with API users based on Attendance ID, and also show the users which are not linked with any record
Users biometric data will be synced with server using APIs, so that user registered on one device can automatically be registered on 2nd device
5 Attendance Data
Read the data from devices and list in the system
Sync the data with server using API and show the status (synced or not)
Option to re-try the syncing of failed records
System
Pagination in both Users/Attendance Data listing
System on minimize, will go in notifications area and will keep on running
system will read new data and sync with server after specified time interval
Sync multiple records with server in one go to reduce server calls
Generate logs in files to track any possible issue (APIs request & response)
Should be available as Installer exe file for users to install
Anviz & ZKTeco Devices should be supported by this App
You are welcome to discuss for any confusion in the requirements.