Token based application to ensure social distancing at market place or grocery shops
Amid the lockdown situation caused due to the COVID-19 outbreak, many local authorities have allowed the market (mainly for essential commodities) to be open for a restricted period of time. Despite awareness drives and police intervention, the marketplaces or grocery shops in the city continue to remain crowded with people in the allowed time. The media has reported several such cases. The best solution in such cases appears to be direct-to-door delivery.
While direct-to-door delivery in western countries is comparatively easy because of a few reasons such as the existence of zip postal codes, technology, structure/architecture/town plan of the cities, government databases of households, etc. The last-mile distribution in India is particularly complicated. Even if the direct-to-door delivery is made possible in India, it will be helpful only in the lockdown period. When the lockdown is removed and the country starts to go back to its normal pace, there will again be large amounts of violations of social distancing at essential shops.
There is a need for a system that controls the number of customers at essential shops at a given time. We propose a token-based application in which people need to request for a token to visit a shop. This token shallbe valid only for that shop and for a particular time slotas chosen by the user. The distribution of these tokens will be restricted such that there is no crowding at the shops. The user is allowed to buy from a shop only if his/her token is activated. The token expires after a period of time.
Checkout our demo video on YouTube here.
- Minimally Online Application: In India, where good internet connectivity is not available at all places and not available for all people, we need an application which is as minimally online as possible. We need to make most operations offline. As a start, we have implemented Offline Verification in Parcha. For more details, check README of token-system.
- Authority Intervention: As we go through various phases of un-lockdown, various rules and regulations shall be set in place by the local administration and monitoring whether shops and marketplaces are adhering to the norms is important. We implement this by an Authority feature set, to approve the shops to be opened and to track their opening and closing times.
The backend for the application has been developed in NodeJS, with the data being stored in a MySQL Database. For the user application, Flutter has been used to develop native application for Android and iOS Devices.
Go to the READMEs of the individual directories of Backend/ and token_system/
The API calls are located in the Backend/ directory
The Flutter app is located in the token_system/ directory
Feel free to contribute in the following ways:
- Raise an issue on our Repo here.
- Fork the repo, make changes and raise a PR. Information here
- Contact any of the authors below.
Licensed under the GNU GPLv3 License (the "License"); you may not use files in this project except in compliance with the License. You may obtain a copy of the License at
https://choosealicense.com/licenses/gpl-3.0/