{"id":18429672,"url":"https://github.com/nayibor/erl_monitor","last_synced_at":"2026-04-30T13:34:22.104Z","repository":{"id":164525410,"uuid":"81015935","full_name":"nayibor/erl_monitor","owner":"nayibor","description":"payment card fraud and error monitoring system using LYME stack (Linux,Yaws web server,Mnesia database,Erlang)","archived":false,"fork":false,"pushed_at":"2025-07-03T03:34:08.000Z","size":5151,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop1","last_synced_at":"2025-07-03T04:33:02.791Z","etag":null,"topics":["elixir","erlang","erlydtl","iso8583","mnesia","payment-processing","realtime","websockets","yaws"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nayibor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-05T19:21:43.000Z","updated_at":"2025-07-03T03:34:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"c9218f52-0d9c-4f82-8ec1-2b131330adc7","html_url":"https://github.com/nayibor/erl_monitor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nayibor/erl_monitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayibor%2Ferl_monitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayibor%2Ferl_monitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayibor%2Ferl_monitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayibor%2Ferl_monitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nayibor","download_url":"https://codeload.github.com/nayibor/erl_monitor/tar.gz/refs/heads/develop1","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nayibor%2Ferl_monitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32466333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","erlang","erlydtl","iso8583","mnesia","payment-processing","realtime","websockets","yaws"],"created_at":"2024-11-06T05:18:12.416Z","updated_at":"2026-04-30T13:34:22.098Z","avatar_url":"https://github.com/nayibor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"#What is this for\n\nThis application is for an opensource transaction monitoring system.\n\n\nThis system receives iso 8583 messages from diverse sources on  a tcp-ip server.  \n\nIt then extracts the iso 8583 message from the tcp server\n\nit then passes the message through a filter using rules written in lua via the excellent [luerl](https://github.com/rvirding/luerl) erlang package\n\nIt then forwards matched messages to a websocket server for distrubition to various user browsers.   \n\nThe purpose of this application is to receive real time feedback on status of  transactions so that quick actions can be taken as opposed to polling of the database or other non real time means of monitoring.\n\n\n##Components##\n\nBackend web application/mis system for:\n\n* creating,reading,updating users\n* performing access management for users\n* for creating rules which represent a filter for messages\n* for adding and removing users from the rules \n\nTcp Server for \n\n* receiving and parsing iso messages\n* pass message through rule system to find if message matches rule .eg. is it a decline,balance enquiry,etc..\n* sending parsed messages to websocket/email user channel for distribution based on active rule which match \n\n\nWeb application and tcp server built on erlang stack(yaws,mnesia,erlydtl):  \n\n* [yaws](http://yaws.hyber.org) is erlang web server\n* [mnesia](http://erlang.org/doc/man/mnesia.html) is database management system packaged with erlang\n* [erlydtl](https://github.com/erlydtl/erlydtl) erlang templating system based on django  \n* [ranch](https://github.com/ninenines/ranch) socket library used for the tcp server\n* [jem.js](https://github.com/inaka/jem.js/tree/master) used for the serialization of js data to erlang term format when communicating with websocket\n* [luerl](https://github.com/rvirding/luerl) used for writing the rules for filtering the iso8583 messages so it can be identified/tagged and notifications sent to various users \n\nThe ```erl_mon application``` is the web application.\n\nThe ```erlmon_sock``` is the the tcp server.\n\nThe ```erlmon_lib``` contains libraries used by ```erlmon_sock``` and ```erl_mon```.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnayibor%2Ferl_monitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnayibor%2Ferl_monitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnayibor%2Ferl_monitor/lists"}