Skip to content

A demonstrator for a nanoservices-based application on DC/OS

License

Notifications You must be signed in to change notification settings

mhausenblas/marvin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MARVIN

MARVIN logo

MARVIN is a simple, non-trivial yet complete nanoservices example on DC/OS. He got his name from another famous Marvin. MARVIN provides recommendations for close-by public transport facilities such as bus stops for the events in a calendar provided. You can think of it as a sort of very specialized spatio-temporal personal assistant.

System Architecture

MARVIN system architecture

MARVIN comprises:

  1. a calendar proxy nanoservice nS1
  2. an OpenStreetMap lookup nanoservice nS2
  3. an public transport facilities (PTF) recommender nanoservice nS3
  4. a frontend, a NGINX-based Web app frontend
  5. go2 as a service discovery mechanism

Data sources used in MARVIN:

Deployment

In order to use MARVIN you'll have to have a DC/OS 1.7 cluster set up.

Deploy manually:

$ cd specs/
$ dcos marathon app add go2.json
$ dcos marathon app add marvin-events.json
$ dcos marathon app add marvin-osmlookup.json
$ dcos marathon app add marvin-rec.json
$ dcos marathon app add marvin-frontend.json

Deploy using dploy: TBD

Usage

Once MARVIN is deployed you can go to the front-end and get recommendations for public transport facilities that are close-by your today's events:

MARVIN system architecture

Note that is you want to extend MARVIN, have a look at the development and testing document.

About

A demonstrator for a nanoservices-based application on DC/OS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published