Skip to content

Demo app to experiment with coroutines in spring reactive

Notifications You must be signed in to change notification settings

josoder/covid-live

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Covid-live

Covid-live is a reactive fullstack POC, that displays live COVID-19 stats.

Features

  • Live update of global stats
  • Drilldown per country with more specifics i.e cases today, cases per million etc...

  • v1_pic

    Implementation

  • Backend module: spring boot with kotlin, gradle, mongodb and webflux. Implemented with coroutines using router DSL

  • Frontend: Angular 9 + angular material and ngx charts

  • Run

    requirements: Angular cli, docker-compose, java 11

    mongodb: docker-compose up mongo -d
    backend: ./gradlew :bootRun
    frontend: ng serve

    Docker compose

    build image for backend: ./gradlew jibDockerBuild --image=stats-backend

    The frontend build will be handled by docker-compose docker-compose up -d

    Frontend will be served at: localhost:80/
    API: localhost:80/api

    Kubernetes

    Will provide more information on this setup ASAP.
    Configuration is available under /kube

    Mongo db

    Runs a stateful set with 3 instances of mongodb replica sets.

    Frontend

    Build the image with /frontend/build_kube.sh

    Backend

    API

    path: /api/stats

    / : get the global total infected,
    /countries : get information per country,
    /countries/{country} : get info for the given country
    /watch/total : streams total stats as server sent events

    source: https://github.com/NovelCOVID/API