Covid Data Insights is a web-based mapping application that uses the Leaflet.js library (documentation available here: https://leafletjs.com/) for creating an interactive map to display a chloropleth map for COVID-19 cases. It makes requests to 2 APIs:
- CovidDataManagement API: this API retrieves the files provided by World Health Organizatinon - WHO, and uses CSV Helper library for reading those files. Then, it loads the COVID-19 data contained in those files and stores the information in SQL Server database
- GeoSpatialDataLoader API: this API consumes a GeoJson file obtained in Natural Earth website (https://www.naturalearthdata.com/downloads/10m-cultural-vectors/) and saves the data contained in that file in a PostgreSQL database, using PostGIS extension
Important considerations used during the development:
- GeoJson uses [long, lat] format to represent coordinates positions (https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.1)
- Leaflet.js uses [lat, long] format to represent coordinates positions (https://leafletjs.com/reference.html#latlng)
- .NET 6
- C#
- ASP.NET MVC Core
- ASP.NET WebApi
- Background Services
- Entity Framework Core
- LINQ
- SQL Server
- PostgreSQL
- NLog
- CsvHelper
- Javascript
- CSS
- HTML5
- Leaflet.js
Home page displaying a Leaflet map with a legend and a filter that shows the Global/World detailed information:
Hover the mouse over the polygon regions, and a popup with acumulated cases, vaccinations and deaths will appear:
Click in a specific polygon region, and the filter will update with the data for that specific region: