Skip to content

payment card fraud and error monitoring system using LYME stack (Linux,Yaws web server,Mnesia database,Erlang)

Notifications You must be signed in to change notification settings

nayibor/erl_monitor

Repository files navigation

#What is this for

This application is for an opensource transaction monitoring system.

This system receives iso8583 financial messages from diverse sources on a tcp-ip server.

it filters those messages based on rules but rules have to be written in erlang and also must return a boolean true or false.

If a rule matches,it's forwarded to a websocket server for distrubition to user browsers whom are authorized to view those messages.

browser will display transaction fields including field 39 which will show code which shows why transaction declined.

Main purpose of this application is to receive real time feedback on status of financial transactions. This is so quick actions can be taken as opposed to polling of the database or other non real time means of monitoring.

application can be used for checking for declines,fraudulent transactions,timeout etc...

##Components##

Backend web application/mis system for:

  • creating,reading,updating users
  • performing access management for users
  • for creating rules which represent a filter for financial messages

Tcp Server for

  • receiving and parsing iso messages
  • pass message through rule system to find if message matches rule .eg. is it a decline,balance enquiry,etc..
  • sending parsed messages to websocket/email user channel for distribution based on active rule which match

Web Sockets Server for

  • for relaying filtered messages to browser screen so quick action can be taken if websocket channel is selected for rule

Web application,tcp server,Web Sockets built on erlang stack(yaws,mnesia,erlydtl):

  • yaws is erlang web server
  • mnesia is database management system packaged with erlang
  • erlydtl erlang templating system based on django
  • ranch socket library used for the tcp server
  • jem.js used for the serialization of js data to erlang term format when communicating with websocket

The erl_mon application is the web application.

The erlmon_sock is the the tcp server.

The erlmon_lib contains libraries used by erlmon_sock and erl_mon.

application can be run in a docker container using the Dockerfile_autobuild docker. it exposes ports 8004 for the web server and 8002 for the tcp where transactions can be sent to.

About

payment card fraud and error monitoring system using LYME stack (Linux,Yaws web server,Mnesia database,Erlang)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published