Skip to content
Giovanni Gaglione edited this page May 3, 2015 · 8 revisions

Introduction

This page tells you about:

  1. the main requirements behind Wongo
  2. architecture
  3. domain models
  4. class diagram

Requirements

Connection (database), schema, documents

  • 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

Query

  • 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

Analysis - Domain model

domain-model

Architecture

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

Clone this wiki locally