• iOS 12
• Android 8
Language: English and Chinese (UTF8)
3 tier architecture : app, web server in DMZ, database server
App registers the first time use and remember the email id/ login id, hence it doesn't allow to modify the login id when use it other than first time
App gets location from GPS and network location, fused location, (prevent the fake GPS from other app, not the GPS coordination from phone)
App servers which integrates with AD server (Form filled https request) for user authentication
Simple UI for the App only (1-2 buttons on the screen with a faded color image behind); Guessed 2 to 3 pages in App only.
The application records the attendance information into the database which includes date, time, location co-ordinates, resolved address, Mac address, user id etc (not limited to those information).
The server sends a text-based email to designed email address for each attendance action via SMTP gateway (provided by the environment)
Unit test of the application
When the phone is out of GSM coverage, the application will store the local phone GPS co-ordinations in phone with limited entries (say 10). Once the phone is under coverage again, the app will push the outstanding GPS attendances to server
Tomcat Java web server
IP right: belong to hiring party
Source code of both version of App
unit test results