Inspiration
As the pandemic continues to aggravate, it was hard for everyone to keep it under control as it was difficult for people to recall their whereabouts for the past 14 days. Nevertheless, an old man who was infected could recall every location he’s been at for the past 14 days. This greatly helped to keep the pandemic after control as those “high risk” individuals that were in close contact with him could immediately be sent to self-quarantine or receive a Covid-19 (Nucleic Acid) test. However, it is quite rare for people to recall exactly where they’ve been for the past 2 weeks, so we thought of the idea of creating an APP that could help remember where you’ve been. A tracking APP that would record down where you’ve been would be almost unrealistic as it interferes with user privacy and may contain numerous personal information. Due to this reason, we decided to create a contact tracing app that is based on public information and does not contain any personal information.
What it does
We created a contact tracing app that utilizes MAC Addresses to record and contact those who have been in contact with an individual. Each device has its own unique and permanent MAC address which does not contain any personal information and is accessible to everyone as it is automatically sent to a WIFI router to establish a WIFI connection. The moment you connect to a WIFI, the app will record all MAC addresses that are connected to the same WIFI network on a local file. If a user becomes a confirmed case, they could choose to send their list of MAC addresses saved on their local file into the online server which will mark these MAC addresses as “high risk.” Our app would also be able to differentiate between MAC addresses inputted by the hospital or an allegedly confirmed case. When a user wishes to check if they have been in close contact with a confirmed case, the app would compare the user’s MAC address with all the other MAC addresses that have been marked as “high risk”. By using the MAC address and WIFI network, this APP would greatly help minimize the spread of the virus while protecting other’s privacy.
How I built it
Throughout the process, we communicated a lot on deciding how we should code and what functions should the APP include. We started simply as we brainstormed an APP that could record and send MAC addresses. Soon, we realized that extra precautions would be needed to protect users’ privacy and more functions should be added to the APP to better resolve the difficulty brought by the Coronavirus. By adding more features little by little, our APP eventually turned out to be the project we are presenting to you.
Challenges I ran into
The 3 major hardships we went through while creating this application was during the planning phase, the cloudant documentation, and the part when we first started to compile our codes into an APP. While planning and coding for this APP, we were very concerned about user privacy and how to protect our users’ privacy. To prevent impersonation and others from hacking our website, we made sure that we had precautions to stop things like this from happening. For example, our application would only contain users’ MAC addresses. Our server would also automatically ban anyone who attempts to access the admin section without the correct password by IP for 15 minutes. It took us some time to both code and come up with ideas to avoid people from maliciously attacking our server. The cloudant documentation was often ambiguous which served as another major problem that we had to overcome. Lastly, compiling our code into an APP was the 3rd major challenge we went through. We contemplated whether we should keep the function or delete the function, whether we need to add anything, and whether the compilation would be successful. There were several things we were concerned about and worried about, but we were glad that the compilation worked in the end after several alterations to the code and several tries.
Accomplishments that I'm proud of
We are all very proud to create this app and participate in this competition. Although the whole process was tough sometimes, it paid off well. When we ran our code, the feeling of accomplishment was overwhelming, and we were definitely glad that we never gave up.
What I learned
Although we were familiar with the different computer languages, it was our first time creating an application by ourselves. In addition to learning the creation of a mobile app and the systemic usage of Github, we also truly understood the power of computers and their real-life applications. After this experience, computers are not just a bunch of variables, numbers, and strings anymore, and we clearly understood how computers are helping us in real life.
What's next for Contact Tracing App
To support additional users and to support the iOS platform, we'll need to upgrade our servers in terms of RAM and storage by upgrading our IBM Cloudant DB and Cloud Foundry services. Further functions and features may also be added to our application for future use.
Built With
- expiring-dict
- flask-api-libary
- ibm-cloud-foundary
- ibm-cloudant-database
- kivy-libary
- python
- wsgi
Log in or sign up for Devpost to join the conversation.