One of the biggest problems in India due to COVID-19 is excessive crowding at local stores. These crowds become breeding grounds for COVID transmission. The sad part is there is absolutely no way for people like us to avoid going to local markets and buy essential items. This is because of major reasons like poverty, people cannot afford to buy everything online and collect it at door step. Another issue which arises is coming in contact with delivery personnel. This will prove to be fatal solely because there is absolutely no idea to what extent these people have been exposed to the virus. So because of all this, heavy crowding occurs in these hotspots. Few inherent problems in our society makes us even more prone to COVID. Some of those reasons include - Indians never know how to stand in a queue. Half the people in our country do not obey social distancing rules while meeting in public places. Forget these outsiders, many people in your own apartment do not wear masks. Hence it becomes extremely crucial to have a monitoring and a controlling system which can control crowding in these hotspots. Customers/Users can register to GrocerStop and view all nearby stores and also look at all the available items in a particular store. The concept behind which this application works is that every store is open for a particular amount of time. The time period is divided into 30 minute slots. People who wish to go to the store can book a particular slot. Every store will have a max limit of people who can shop simultaneously( by comfortably maintaining social distancing without crowding) without waiting in a queue. Users get a QRCode which they show at the entrance of the store during their slot timing so that they can enter the store . If the maximum limit of people per slot in a shop is reached, no more bookings, thereby maintaining the crowd to a minimum level.
One of the initial hurdles we faced was scaling the system, in order to accommodate a huge crowd base, as the application would be beneficial in reducing overcrowding at supermarkets and grocery stores, which is the need of the hour. Hence, we had to come up with a solid fool proof algorithm that would help us in managing a large userbase.
The math involved in handling a large amounts of users, was really hard to crack. We had to allow the users to choose specific time slots based on a queuing mechanism and also, keep track of slots getting filled for the current day and the next day and display the status accordingly for users to choose the time slot to shop. We wanted to create this application with minimalistic database schema, thus not storing unneccessary information without affecting the performance of the application.
Other problems we faced were pretty minor such as styling the application, as the team consisted predominantely of backend developers.
Discussion