What you can do?
- create, modify, remove profiles
- create lists with different profiles, modify and remove it
- each profile can be added to zero or many lists
Created gulp tasks for building and running server.
Created docker images for easy deployment.
Relations between profiles and lists are stored as a graph in the arangodb. Each profile points to the corresponding lists.
Arangodb gives us nice query language for finding associations in a graph.
Profiles and lists by themselves are stored as documents in corresponding collections.
For schema validation was added jsonschema package.
Ui is built by babel package.
Created responsive single page application with bootstrap and client routing. Listening for socket notifications.
If someone has updated lists or profiles during your session you will get the latest changes immediately without making any requests.
It is developed with socket.io.
Created rest api for profiles and lists. Server emits socket events.
- arangodb (Nosql db for documents and graphs storing)
- socket.io (real-time user experience)
- bootstrap (for responsiveness)
To start project
- install arangoDB https://www.arangodb.com/download/
- node data_layer/initialize.js #initialize db
- npm i
- sudo npm i gulp -g
- bower i