-
Notifications
You must be signed in to change notification settings - Fork 0
Giovanni Gaglione edited this page May 4, 2015
·
8 revisions
This page tells you about:
- Requirements
- Domain model
- Architecture
- we want to manage database connection urls
- a connection is identified by triple:
- host
- port
- database name
- each connection identifies a list of collections
- each collection is a list of documents
- we want to show data related to current collection, and current connection
- for each collection, we want to let customize the schema that reflects what the tabular visualization shows
- we want to manage queries
- each query is represented by its script - like the CLI
- it can be executed
- it can be associated to a unique label
- the label can be saved to be accessed in the future
- we want to count the number of times a query is executed. Doing so, we can sort the set of queries in a different way than alphabetically way
- of course, each query is associated to a database connection, and collection
- the user should be able to create a custom page that shows a set of widget (e.g. kibana-like)
- each widget should have a title, a visualization, and a query that it is associated to
- each widget could be associated to more than one collection
- candidate of widgets are
- simple count
- avg
- frequency counter (based on a field)
- → check kibana for more info

You can find the code here.
The architecture is composed by the following components:
- TokuMx database - to store user data
- mongo-express http server - to let the frontend app to connect to external databases
- Wongo API Http Server - to let the frontend save user data
- Wongo frontend - AngularJS App -
- restful-mongo - the core component to instantly create an Http API layer on top of MongoDB