Android App for Staff Attendance

Technologies Involved

Java, HTML5 / CSS3, Android, Facial recognition API, SQLITE

Project Description

The main features which were covered under the mobile app are as follows.

  1.  Application settings – This allowed to manage application level settings related to the site name and the company under which the site is configured. These were pulled from the main system’s database.
  2. Face Detection – This is the first screen of the app which is used to authenticate and authorize the staff and presents the next screen which displayed the information retrieved for the restive staff as per the record found under the facial recognition process.
  3.  If the staff feels that the record found matches with his / her details, then he can sign in to record his in time. If the staff already has an in-time for the respective day, then the app would allow him / her to sign out to record the respective out time. Both sign-in and sign-out require either facial recognition or manual login to pass for a staff.
  4. The various business rules applied at the time of sign-in or sign-out for a staff are as follows:
    1. If a staff that signs in is the first staff on that site for the respective week, then a new site timesheet record is also created and the respective in time is recorded against the same. 
    2. If it is the first sign in of the respective staff in a day and he is 60 minutes late than his intended shift start time as per the roster shifts, then do not authorize him to sign in and would allow site manager’s authorization to sign in the respective staff.
    3. If it is not the first sign-in in the said day for a staff, then also do not authorize him / her to sign in and this would again require site manager’s authorization to accomplish the signing in process.
    4. If the respective staff does not have a shift as per roster shifts on a day, again warn the user to get manager’s authorization.
    5. If the above business rules are validated, then allow the staff to sign in and display his / her sign in time on the screen. 
    6. If there is a single sign in record and the intended shift finish as per roster shifts is less than 60 minutes away, then warn the user if he / she wants to sign off early. If staff confirm sign out then the sign out time is recorded and the same is displayed to the staff.
    7. If the signing in staff is an area manager, then also allow them to sign-in for an inspection and consequently when they sign out it would be recorded as inspection sign-out time.
  5.  Manual Login – If it is first time login for a staff, then he/she can manually login to the system using mobile number, pin number, SIAno, NINO and DOB. If validated the staff is presented with the enroll face screen to store the facial data for the respective staff so that it can be matched the next time the staff accesses the app.
  6. The site manager can authorize various operations as per the business rules applied for staff sign in and sign out process. The manager authorization allows site manager to enter their pin to allow the process that requires authorization to proceed further.
  7. The manager’s panel allows to create new staff onsite as well review the site timesheets as per the in and out times record through the android app. The site manager can edit the shifts which would be flagged properly to indicate that the same have been edited manually. Once the site manager is satisfied with the timesheet, he /s he can approve the timesheet so that the data can be pulled into the actual timesheets in the main system.
  8. The app requires to constantly pull the staff, site and roster related data and to push the site timesheets data into the main system.