/PoC-marketing-automation

node.js express arangodb angular і socket.io

Primary LanguageJavaScript

PoC-marketing-automation

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

App

App was written in javascript(ecmascript 6). Created gulp tasks for building and running server. Created docker images for easy deployment.

DB

Relations between profiles and lists are stored as a graph in the arangodb. There are edges from profiles to 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.

Schema

For schema validation was added jsonschema package.

UI experience

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. Ui is compiled by babel package.

Server

Created rest api for profiles and lists. Server emits socket events.

Technologies

  • arangodb (Nosql db for documents and graphs storing)
  • node.js (Event-driven I/O server-side JavaScript environment)
  • angular (JavaScript framework)
  • socket.io (real-time user experience)
  • bootstrap (for responsiveness)

To start project

To test

  • localhost:5000/api