Inspiration
The inspiration came to me all the way back in March, at the onset of COVID-19. When countries all around the world were beginning to realize the significance of the virus but were still reluctant to shut nations down, I saw this as a viable path for authorities to gain track of people who could potentially be infected with the virus without having to employ a large number of human beings to track down each person by hand which is very time consuming and inefficient. I saw this as an easy and efficient way to identify potentially infected people in a community, by identifying whether they have been in contact with an infected person.
What it does
I saw this as an easy and efficient way to identify potentially infected people in a community, by identifying whether they have been in contact with an infected person. The way it works is by installing a QRCode at the entrance and exit of a crowded place such as places of worship, supermarkets, and of course; hospitals. The user enters the place and scans QR code on entry and at the exit. This logs his entry and exit times and is uploaded to a database. As an added feature the person also gets a reminder when he spends 20 mins in a certain place, advising him to exit the place t reduce exposure. When a person checks in to a hospital and tests positive for the virus, the medical authorities can use a program I made to enter the person's identification number along with the number of days to search for( an average person develops symptoms in 4-7 days). The user gets a file with a list of people who could potentially be infected with the virus by their identification number. Then the person can use another program (included in my project) to update the list of potentially infected people in the database so that they can be notified to stay at home. How the program determines whether a person could be infected or not: Upon entering the persons id, the program checks each place in the community(within the specified date range) for the specific persons visit. If a place is found, the program checks for other people who could have been in the place during the same time frame(calculated using his exit and entry time).
Implementation:
Since databases can get quite large over time and becomes practically non-manageable, it is recommended that states(within a country) be designated specific area codes so that given a person's identification number, the program can identify the area and just search for areas within the area, hence improving the efficiency and practicality of the application.
How I built it
I built the app using Xcode and swift. I built the extra programs with python.
Challenges I ran into
I am a lone member so it was hard for me to manage the backend too. So I had a lot of learning to do before I actually began working on the project. I also had some difficulty with providing notifications as this was the first time I was integrating notifications into an app. But my major difficulty was that i didn't have a team, and that was a pretty big bummer. I missed the team making session due to time-zone limits and that was a big bummer.
Accomplishments that I'm proud of
I'm proud of being able to finish the application along with the complementary programs on time!
What I learned
I learned quite a lot in terms of backend especially. I am proud to say that I can efficiently work with firebase and other backend services, something I couldnt before.
Improvements:
Once again, being a sole team member, I had to devote a big portion of my time to learn how backend services and notifications work and that really sacrificed my ability to incorporate something I am good at -> UI. I wasn't able to put a really good UI because of time constraints and I am really sad about that.
What's next for TraCovid
What's really interesting about TraCovid is that this can be used for any future pandemics or health hazards that we might face, so deploying something like TraCovid can be really efficient in slowing down the spread of any virus, helping us to combat future health crises.

Log in or sign up for Devpost to join the conversation.