COVID-19 Tracker is a microservice that tracks the number of infected cases with the COVID-19 virus. The Coronavirus disease (COVID-19) is the name given to a newly discovered strain of Coronavirus, called SARS-CoV-2, which was officially declared a Pandemic on 11 March 2020. Statistical data associated with COVID-19 changes rapidly, and there are various sources aggregating this data that update at different times, so do expect some variation in the data from other sites and sources. For more information regarding COVID-19, see the WHO's COVID-19 Q&A page.
Releases: https://github.com/StevenJDH/covid-tracker/releases
- Global COVID-19 statistics provided by Johns Hopkins University CSSE.
- Total infected cases along with total new infections since previous day.
- Dynamic filtering of geographic data.
- Scheduled cache control of source data.
- Docker/Rancher Desktop or Kubernetes for running the container.
- Optional: Java 17+ (Temurin/Adopt) OpenJDK for compiling.
- Optional: Maven 3.8.4+ CLI for compiling.
COVID-19 Tracker container images are currently hosted on the following platforms:
For production use cases, it is not recommended to pull an image with the :latest
tag, or no tag since these are equivalent.
COVID-19 Tracker can be optionally deployed to a Kubernetes cluster using the COVID-19 Tracker Helm Chart that is managed in a separate repository. All of the features described below and more are supported by this chart.
To run the application locally, or access it without an Ingress resource, use one of the following approaches below.
Docker/Rancher Desktop:
docker run --name covid-tracker -p 127.0.0.1:80:8080/tcp -d stevenjdh/covid-tracker:latest
# OR
nerdctl run --name covid-tracker -p 127.0.0.1:80:8080/tcp -d stevenjdh/covid-tracker:latest
Kubernetes:
kubectl run covid-tracker --image=stevenjdh/covid-tracker:latest --port 8080
kubectl expose po covid-tracker --port 80 --target-port=8080 --name=covid-tracker
kubectl port-forward svc/covid-tracker 80:80
Once the application is running, the UI can be accessed via http://localhost.
Below are the URL references used in the app.
GET :8080/
GET :8081/actuator/info
GET :8081/actuator/health
GET :8081/actuator/health/liveness
GET :8081/actuator/health/readiness
Cached statistics expire every 6 hours by default in UTC time, but it can be overridden using the SPRING_CRON_SCHEDULE
environment variable. The cron syntax used by Spring is different, so use CronMaker to generate the desired schedule. Take the result, and remove the last argument to make it valid. For example, 0 0 0/1 1/1 * ? *
is edited to become 0 0 0/1 1/1 * ?
for use in Spring.
COVID-19 Tracker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Thanks for your interest in contributing! There are many ways to contribute to this project. Get started here.
Many commonly asked questions are answered in the FAQ: https://github.com/StevenJDH/covid-tracker/wiki/FAQ
Method | Address |
---|---|
PayPal: | https://www.paypal.me/stevenjdh |
Cryptocurrency: | Supported options |
// Steven Jenkins De Haro ("StevenJDH" on GitHub)