Workflow of the software is like, when a Visitor enters the office, Guard seated at the entrance clicks on the CHECK-IN FORM and takes his/her details and details of the person whom they want to meet.
When Guard presses
CHECK-INButton, following tasks occurs at the Backend
-
Mobile Number and Email ID are checked using JAVA REGX API, Such that these details taken in the form of a String follow the pattern specified.
If not matched, then required to be corrected andCHECK-INButton be pressed again. -
If matched then all the details with the current time stamp as the check-in time are stored onto the Firebase RealTime Database to track the visitor entered in the office.
-
Simultaneously an Email using the Java Mail API as well as a SMS using the SmsManger API is sent to the Host, informing them about the details of the Visitor coming to meet them.
After the meeting is over and Visitor starts to leave the office, Guard at the Exit Gate clicks on the CHECK-OUT FORM and asks for his/her Mobile Number (acts as a unique key) and makes an Entry there.
When Guard presses
CHECK-OUTButton, following tasks occurs at the Backend
-
Mobile Number is again checked using JAVA REGX API. If not matched, then required to be corrected and
CHECK-OUTButton be pressed again. -
If Visitor has Checked-In, then their details are fetched from the Firebase RealTime Database and simultaneously Visitor can provide the checkout time. Otherwise they'll be asked to, first Check-In.
-
Once this is done, an Email using the Java Mail API is sent to the Visitor, mentioning details regarding their visit to the Host's office.
Simultaneously Visitor's details are deleted from Database.
Two nodes are created here, which are as follows :-
-
Current
-
The Purpose of this node is to store the details of the Visitors Currently Present in the office to avoid multiple entries of the same person at the same time and it improves Data Accessing when needed.
-
Details are stored when the Visitor does Check-In and Entry of that Visitor gets deleted once they do Check-Out.
-
Key for this node is "Visitor’s Mobile Number".
-
-
Visitor
-
The Purpose of this node is to record the details of the Visitors, for throughout the Day .This can also be used as a LogBook of Visitor's.
-
Details are stored when Visitor does Check-In and Entry of that Visitor gets updated with exit time once they do Check-Out.
-
Key for this node is "Visitor’s Mobile Number + Check-In Time".
So,that If same person visit's again, then their new Entry with new Key will be created and only that will be Updated Once they leave.
Past Entry, If any, will not be changed.Data in this node can be use to fetch details of visitors, who visited on that particular day. If needed to store data for more than a day or any longer period, we just need to modify the Key to do so.
-
- Java
- Android Studio 3.5
- XML
- Java Mail API
- SmsManager API
- minSdkVersion 23
- targetSdkVersion 29


