Peaceland is a full project made with scala, spark, kafka, node and react to design a big data architecture.
Our choices led us to the following architecture:
architecture.pngis our architecture solution for Peaceland project.subject.pdfcontains the details of the Peaceland project.
first_presentation/report.*contains our detailed answers to the four questions asked;first_presentation/spark_soutenance_intermediaire.pdfcontains our slides for the presentation, as well as our architecture blueprint;
alert_screen/contains the front end that peacekeepers use to see alerts
alert_consumer/contains the module for the consumer that reads over a Kafka stream of peacewatcher reports and sends the ones with low peacescores on the alert stream
analytics/contains the module that downloads data from AWS S3, and then computes analytics to answer the following questions:- Days of the week with the most pissed off people
- Number of agitated person per words heard
- Agitation per peacewatcher id
- Agitation per location
- Agitation per hour
api_consumer/contains the module that reads the alert stream and hooks its data to both a Discord and an API endpoint
peacewatcher_simulator/contains the module for the producer that generates reports and put them on the Kafka stream of peacewatcher reports
archives_store/contains the module for the consumer that reads a batch of messages on the Kafka stream of peacewatcher reports, and aggregate them into a single object file, which is then put on AWS S3
- Launch your zookeeper server
- Launch your kafka server
- Launch the alert_consumer module using
sbt "project alert_consumer" "run" - Launch the archives_store module using
sbt "project archives_store" "run" - Launch the api_consumer module using
npm ito install dependencies and start in one terminalnode consumer.jsand in anothernode redirect_server.js - Launch the analytics module using
sbt "project analytics" "run" - Launch the alert_screen front end using
npm i && npm start - Launch the peacewatcher_simulator using
sbt "peacewatcher_simulator" "run"

