VisitorTracker: Our final-year Main Project
A modern application to track your visitors at public places
With this blog post, I would like to share our B.Tech final-year project including its relevance, its mode of operation, tech stacks used, real-life use-case scenarios, etc.
So, it was during August of 2020 our team started to search for ideas for the B.Tech Main Project. During our search, the primary aim was that our project should solve at least a small social problem. After some search, we reached a problem that can be seen at public places like Hospitals, Malls, Shops, etc.
During the first wave of COVID-19, when we visit any public place, they used to collect the details of the visitors like their Name, Address, Phone Number, etc. coming to these places. This was done mainly so that if any visitor who visited a public place gets infected in the future, then all those visitors who were at the same time as him/her can be mapped and can be advised to take medical advice.
But, there were some problems with their method of visitor-data collection like All the visitor details were manually entered into books which can cause problems in the future such as its storage and problems during Mapping, formation of queues when standing in line to give visitor details violating Social Distancing, etc.
In the current world, where everything is getting digital day by day, using inefficient and manual methods for such important data collection isn't good. So this was our problem statement and we tried to solve the above issue in a simple efficient way as much as possible.
Our proposed system was an Android application built using the Flutter framework. Flutter was chosen mainly due to its Cross-Platform Development capabilities and also as it gives us a chance to learn a new technology during the development process.
In the proposed application, there would be two types of users. One being the Visitors and the other being the Admins. Visitors are basically the people who visit these public places. Admins are those officers or security guards who are present at these public places, collecting the visitor details.
First of all, a Visitor would install the application and login in as a Visitor. The Visitor mainly has two options:
- Option to enter his/her personal details. Using this option, a Visitor can enter personal details like Name, Address, Phone Number, etc. We have also added a Local-Storage functionality, so only a one-time entry of these details is required. The details once entered would be stored in the mobile device until the application is uninstalled using this functionality.
- Option to generate a QR Code. Using this option a Visitor can generate a QR Code based on the details already given to the application.
Now, whenever a Visitor visits a public place he can use the application to generate a QR Code based on the details stored locally. This QR Code is shown to the security officer who is an Admin user as per our application.
Now, the second type of user, Admin login into the application as Admin. The Admin mainly has two options:
- Option to scan a QR Code. Using this option, an Admin can scan the QR Codes shown by the visitors coming to a public place. After scanning a visitor's QR Code, all the personal details of the specific visitor are transferred to the Admin and this can be used in the coming steps.
- Option to upload visitor details. After successful scanning of a visitor's QR Code, all the personal details of the specific visitor are transferred to the Admin and this can be uploaded to the online database, Cloud Firestore in our case.
- Option to view previously uploaded visitor details. Using this option, Admin can view the previously uploaded visitor details. Admin can also delete visitor detail if needed.
- Upon clicking specific visitor data, it can be viewed along with whole details including visitor details and uploaded time.
Our next functionality is that of Push Notifications. In case of a Visitor being reported positive to COVID-19, Admin at a specific public place can request the App-Developer to send a push notification to all users informing such an important message.
The push notification would contain important details like the name of the public place, the time at which the infected Visitor had visited the public place, etc. Seeing this notification all who visited that public place at the same time as the infected person would be informed to take necessary medical advice, go into Quarantine, etc.
The various technologies we used during the development were:
- Google Flutter, for the Front-End of the application
- Google Firebase, for the Back-End of the application
- Hive, for the Local-Storage of Visitor Details
- Cloud Firestore, for the online storage of Visitor Details
- Firebase Cloud Messaging, for sending push notifications
The currently developed version of the application is basically a prototype. In the future, we would like to add more useful features to this application.
One of the ideas we are thinking to add currently is a feature using which a Visitor can generate a Google Map-like route displaying various places visited by the Visitor and the date and time of the visit as well.
We are in the final phase development of the application. After the development, we would be publishing the project on Github. We would like to open-source the project so others can also contribute, suggest new features, fix bugs, etc.