I started this project to gain better Insight into what was happing on the banano network. There was a lack of tools to filter transtion and explore the relationship between accounts. So I started to build these tools and grouped them into one easy to use web app.
This project was built with a small set of tools. The http services, broker and workers are all built in typescript. Theses backend services use a low amount of dependencies from npm a total of 4 where used
["mongodb", "reflect-metadata", "@elastic/elasticsearch", "ws"]
The two databases used are mongodb and elastic. Mongodb to store the state of the applications and Elastic to store all the information that is searchable. The front api has a http and ws interface there's a Haproxy load balancer infront to do the routing/filtering to the services. Other than that there's netdata for logging stats. So In total there are 19 services in this stack there's 7 workers, 5 http services, 2 databases, 1 haproxy, 1 netdata, 1 client, 1 broker and 1 node.
The image below should explain the links between the services and workers better.
In blue are the services built for this system and in orange are the outside services used in the stack. Most services have a connection that are hard to show that are thought Atium with either a task or an event.
The front is built on react in typescript without the jsx syntax. The project is package with webpack, semantic ui is used for the css framework and Sigma.js is used to draw the network graphs. Theses are the only dependancies used for the project this leaves the client at ~0.3mb with compression.
This project is still a work in progress with feature not yet complete and bugs yet to be hunted down and fixed. Suggestions or bug reports are welcome these can be done in the repoThe code is still currently close source. The repo will hold road maps, documentation, feature list and specs. I'm currently the only maintainer or contributor for this project @anzerr I can be contacted on github or thought discord Thoron174#3516