Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/carlo-colombo/mtp


https://github.com/carlo-colombo/mtp

Last synced: 15 days ago
JSON representation

Awesome Lists containing this project

README

        

# mtp
###a simple dashboard

- Built with java8 on top of SpringBoot and ready to be deployed on openshift
- Query interface and internals inspired by CouchDB
- Data persistance delegated to https://github.com/OpenHFT/Chronicle-Map
- Dashboard frontend build with AngularJS and https://github.com/nnnick/Chart.js (throught https://github.com/jtblin/angular-chart.js)

###Views
- countries `/api/view/countries`
- amountSold `/api/view/amountSold`
- amountBought `/api/view/amountBought`
- rate `/api/view/rate`

views could be reduced adding parameter `group=true` and `groupLevel=`

###Dashboard
- `/index.html`

###Post data
- `/api/post` (json format)

###Run & Test
- Run: `gradle bootRun`
- Test: `gradle test`

###How to write a view
Create a bean of type `class mtp.services.View` and set `name`,
map function (`Function map`) and optional a reduce function (`Collector reduce`).

View will be accesible at path `/api/view/`

###Performance
Simple benchmarking with `ab` (with a concurrency level of 10) reports that endpoint `/api/post` could handle about 30 req/s on one openshift small gear and about 1 req/s when querying with datastore filled with about 20k record. 30 req/s seems the limit of the openshift small gear because benchmarking versus endpoint with no complexity return the same value.