Covid-19 has introduced many problems to the general public. One important problem that we have failed to address is the issue with the scarcity of essential items. I too have experienced this issue when my family couldn't buy items used daily such as toilet paper as they were out of stock because of irrational fear. Senior citizens are heavily affected by this issue and may not be able to find the resources they need on their own.
What it does
Communities Against Corona is a responsive website that is designed to create a platform for communities to reach out to each other and help them by offering extra resources they might have such as toilet paper, water, food, etc. Users of the website can place markers on the map and can indicate what resources they are able to provide. They can also add a label to the markers with information such as their name, phone number, address and a short description. Users can modify their markers and see that their changes are deployed in real-time to all users currently logged in.
How I built it
Challenges I ran into
I ran into many challenges along the way and often found my self frustrated. This was my first time dabbling with firebase, databases and user authentication. One challenge I ran into was that when I tried to access the firebase user it would show up as null. I had to use firebase's onAuthState function to access the user. This function would run when the user logged in and made sure that the code wouldn't run when the user wasn't logged in yet. Another challenge I ran into was that after I created the markers, there wasn't a way for me to modify the markers and delete them. To approach this problem, I had to create a global array of the marker objects and had to store a unique id in the marker object. This allowed me to find the specific marker when the database was modified and deploy the changes accordingly. Another difficult challenge that I came across was that my website was not working on certain browsers such as safari. This led to me learn more about browser compatibility and I hate to restructure the code without needing async and await functions that were causing errors in safari.
Accomplishments that I'm proud of
I am very proud that I was able to finally finish a project. My personal connection with this project has helped me persevere through my obstacles. I am also proud that I was able to figure out firebase realtime databases as this was the first time I used a database whatsoever. Most importantly, I'm proud that I took the initiative to help out my community and the people I interact with and love.
What I learned
What's next for Communities Against Corona
My goal is to get this website to the hands of many people as possible. To truly make a change, this website needs to be more exposed. I hope to talk with my city officials to come with a plan so that my website can help my community. I also want to be able to work with an organization as more volunteers are needed to transport the resources to people who can't freely travel such as seniors or people with high-risk conditions.
Try It out