Accountancy Service Architecture


Accountancy Service is a standalone component that runs independently of existing EFPF tools and services and can be integrated with unlimited number of external marketplaces. It consists of 3 main components:

  • Log Aggregator: Gathers user behavior data from various components of the EFPF Platform, executes different transformations and filters the content, before sending the data to the Log Persistence component
  • Log Persistence: Stores, indexes, provides and manages user logs to be later analysed. Since relational databases are not well-suited for managing log data, a NoSQL database like Elasticsearch is preferred due to their flexible and schema-free document structures, enabling analytics of the log data.
  • Visualization: Enables interactive dashboards, filters and advanced data analysis and exploration of user logs.

Furthermore, the following custom modules listed below were developed to provide additional functionality:

  • Reporting Component: Creates periodic (i.e. monthly) reports for each dashboard at the end of each month in PDF format and sends it as an email
  • Invoicing Component: Processes all the payment data accumulated within each month, sums all the amounts from successful transactions realized on each marketplace, calculates a corresponding cashback amount and creates a detailed invoice with the information including purchased products, dates of transactions as well as the calculated commission for each product. The invoice will then be used to charge marketplaces.

The corresponding architecture diagram can be seen below:


Required Software

In order to process the accumulated log data and provide advanced visualization mechanisms, the Accountancy Service uses Elastic Stack (Elasticsearch, Logstash, Kibana) as an advanced log persistence, monitoring, processing, and visualization framework. In addition to the central functionalities offered by the Elastic Stack, the custom modules were developed with JavaScript.

Required software is listed below:

  • Elasticsearch 7.4.2
  • Logstash 7.4.2
  • Kibana 7.4.2
  • Node JS v10