Skip to content

matannagar/callCenter-Kafka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Call Center ☎️

A system built from three subsystems that together enable monitoring of incoming calls to the call center
in Near Real Time access and using a dashboard that displays key metrics,
and also allows early call type classification to route the nature of the call recommended to the answering provider.
(The last option will be added in the future)

Technologies

redis mysql mongoDB kafka docker socket

What The System Does

  • Stores clients details on local mySQL server
Name ID Birth Date City Gender Subscriptions
  • The system will receive call details and will store, process and present them
  • The data that will be stored in the system at the end of each call:
Period Start Call City Age Gender Total Calls Product Topic
  • The system will present total number of current waiting calls
  • Avarage waiting time in the last 10 minutes
  • Present numbers of waiting calls and waiting times throughout the day
  • End of the day stats : sum how many calls from each topic
  • The calls will be stored in mongoDB
  • The data will reset itself at the end of each day!

Getting Started

Dependencies

  • NodeJS v14.17.5
  • mySQL workbench
  • Docker with Redis image

Register to the following Cloud Services:

Installing

  • git clone this repository
  • Inside each folder open cmd and run
npm i install 
  • At each folder named 'Kafka':
    1. Replace the credentials variable
    2. update the .env file

Executing program

  • Inside each folder run
node app.js

Structure

Sender

Responsible for loading customers data from local mySQL
Generating random calls and publishing the call's information via Kafka.

sender

Redis

After receiving the call's information from Kafka,
the data is then stored inside Redis (including expiration data)

redis

mongoDB

Every call is stored inside mongoDB for later studying.

mongo

Authors