🦠A simple and fast (< 200ms) API for tracking the global coronavirus (COVID-19, SARS-CoV-2) outbreak. It's written in python using the 🔥 FastAPI framework. Supports multiple sources!
Why I made the specific design decision:
Location contain country and province. Country consists of different province. This structure is similar to a recursive data structure. And during COVID-19, we not only need to know the population, confirmed, deaths, recovered number in a province, but also in a country. Using composite pattern can ignore the difference between country and province and make the code more simpler. And using composite pattern also makes it easy to add additional location type which can be modified later in the project.
How I applied the new design:
First, I create an Location class in app\location__init__.py. Then create the Country and Province class to inherit it. The Country class contains Location objects. Both the Country and Province class declare a method for obtaining numbers to facilitate the implementation of the related service.
Why I made the specific design decision: Location contain country and province. Country consists of different province. This structure is similar to a recursive data structure. And during COVID-19, we not only need to know the population, confirmed, deaths, recovered number in a province, but also in a country. Using composite pattern can ignore the difference between country and province and make the code more simpler. And using composite pattern also makes it easy to add additional location type which can be modified later in the project. How I applied the new design: First, I create an Location class in app\location__init__.py. Then create the Country and Province class to inherit it. The Country class contains Location objects. Both the Country and Province class declare a method for obtaining numbers to facilitate the implementation of the related service.