Skip to content

React/Redux + SpringBoot/MongoDB application using data published from Johns Hopkins University. Find regional or geolocational statistics for COVID-19 cases

License

Notifications You must be signed in to change notification settings

jcampos8782/COVID19-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COVID19-API

This project includes components for downloading, indexing, querying, and browsing time series data. The data sets currently being downloaded pertain to the COVID-19 pandemic. The set contains global data indexed into MongoDB with geospatial indexes to allow for querying by location.

Light Dark

UI

A React/Redux UI with Nivo chats. I use Material-UI for component styling.

API

A REST API using Java/SpringBoot with a Mongo connector. Generates swagger documentation.

Database

This project uses MongoDB because of its geospatial indexing capabilities. See the MongoDB README for additional documentation

Prerequisites

  1. Docker and docker-compose

Build

All components can be built using docker-compose.

```
DB_USER=<user> DB_PASS=<pass> docker-compose up -d
```

Containers

This project creates five containers:

  1. An Nginx proxy serving as an API gateway and reverse proxy to the UI and API containers
  2. The React/Redux UI
  3. A SpringBoot REST API which provides services over the dataset
  4. MongoDB database (container name mongo)
  5. A mongo-init which will populate the mongo instance

Updating the database

To update the database, run the provided update script and then rebuild and run the mongo-init container

./update_data.sh
docker-compose build mongo-init
DB_USER=<user> DB_PASS=<pass> docker-compose up mongo-init

License

GNU GENERAL PUBLIC LICENSE

About

React/Redux + SpringBoot/MongoDB application using data published from Johns Hopkins University. Find regional or geolocational statistics for COVID-19 cases

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published