What is Coronavirus (COVID-19)?
Coronavirus (COVID-19) which is an infectious disease caused by respiratory illness and symptoms like flu, cough, fever, difficulty breathing, on December 31, 2019, the first case was recorded in Wuhan, China and later the virus got spread around the world and as of now, around 1 million+ confirmed cases are being recorded since then.
You can protect yourself from this virus by following basic precautions like washing your hand frequently, avoid touching your face, maintaining a distance of (1 meter or 3 feet) between people and most importantly if you are sick then immediately call for medical help at your nearest hospital.
How to build a full-stack application with interactive maps?
So as I have collected the data now I have decided to build a full-stack application with interactive maps so that it will be quite easier for the user to track the cases across the globe.
Node.js Backend Services
JHU CSSE maintains the data in CSV format in their repository and I need to convert the CSV data to JSON format so that it will be quite easier for the front-end framework to populate the data in an efficient way. So to convert CSV to JSON I have use csv-parser npm module which is a very popular CSV parser and converts CSV into JSON at a rate of around 90,000 rows per second.
And after parsing the data I have stored the data into MongoDB so that it won't parse the data every time, it will only parse the data when new data will be available.
JHU CSSE updates the data once a day around 23:59 (UTC) and to synchronize the data in my server I am using node-cron npm modules which is a task scheduler and once you register a task with the given time then it will run in the background and triggers when it reaches to the scheduled time.
And in my case, the scheduled time is 23 hours 59 minutes and when it reaches the time then it will update the data into my server.
React.js Frontend Services
It will be quite difficult for me to walk you through step-by-step every lines of codes. That's why I made the complete development open-source on my GitHub. So that you can also build similar types of application by following this repository.
So this is the overall explanation of this website, I hope you guys understood the tools and techniques behind this application if you find any types of issues like on improving codes then please feel free raise an issue on GitHub or else you can reach out to me on twitter I'll be happy to answer your questions.
Please stay safe and stay well, I want to mention it again to protect yourself from this virus wear mask, wash your hand frequently and take necessary precautions if you get sick.
Thank you & Happy coding :)
I would like to thank everyone for appreciating my work.