https://github.com/mhausenblas/marvin
A demonstrator for a nanoservices-based application on DC/OS
https://github.com/mhausenblas/marvin
calendar dcos demo microservices openstreetmap
Last synced: 14 days ago
JSON representation
A demonstrator for a nanoservices-based application on DC/OS
- Host: GitHub
- URL: https://github.com/mhausenblas/marvin
- Owner: mhausenblas
- License: apache-2.0
- Created: 2016-05-27T05:10:58.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-06-05T08:48:01.000Z (almost 9 years ago)
- Last Synced: 2025-04-12T18:09:59.065Z (14 days ago)
- Topics: calendar, dcos, demo, microservices, openstreetmap
- Language: JavaScript
- Homepage:
- Size: 7.79 MB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MARVIN

MARVIN is a simple, non-trivial yet complete nanoservices example on [DC/OS](https://dcos.io/). He got his name from another famous [Marvin](http://hitchhikers.wikia.com/wiki/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 comprises:
1. a calendar proxy nanoservice [nS1](nS1/)
1. an OpenStreetMap lookup nanoservice [nS2](nS2/)
1. an public transport facilities (PTF) recommender nanoservice [nS3](nS3/)
1. a frontend, a NGINX-based Web app [frontend](frontend/)
1. [go2](https://github.com/mhausenblas/go2) as a service discovery mechanismData sources used in MARVIN:
- a default [Google calendar](https://calendar.google.com/calendar/ical/r5sj91351jcgb0gul5h0tvou7o%40group.calendar.google.com/public/basic.ics)
- OpenStreetMap, to be precise the [Overpass API](http://wiki.openstreetmap.org/wiki/Overpass_API/)## Deployment
In order to use MARVIN you'll have to have a [DC/OS 1.7](https://dcos.io/releases/1.7.0/) 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.jsonDeploy using [dploy](http://dploy.sh): 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:

Note that is you want to extend MARVIN, have a look at the [development and testing](dev.md) document.