{"id":44110043,"url":"https://github.com/eneskzlcn/message-receiver-processor","last_synced_at":"2026-02-08T16:05:45.572Z","repository":{"id":61627690,"uuid":"525813648","full_name":"eneskzlcn/message-receiver-processor","owner":"eneskzlcn","description":"3 application inside. First one is message receiver that receives messages from user and publishes a rabbitmq message with the message, sender and receiver content. Second one is message processor that consumes the messages from rabbitmq and saves them to the redis. The third one is message lister that lists all the messages between given two user.","archived":false,"fork":false,"pushed_at":"2022-09-09T13:42:03.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-03T00:08:41.193Z","etag":null,"topics":["gin","golang","messaging-api","rabbitmq","redis"],"latest_commit_sha":null,"homepage":"","language":"Go","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/eneskzlcn.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}},"created_at":"2022-08-17T13:51:39.000Z","updated_at":"2022-09-28T09:51:12.000Z","dependencies_parsed_at":"2022-10-20T11:45:25.338Z","dependency_job_id":null,"html_url":"https://github.com/eneskzlcn/message-receiver-processor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eneskzlcn/message-receiver-processor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eneskzlcn%2Fmessage-receiver-processor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eneskzlcn%2Fmessage-receiver-processor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eneskzlcn%2Fmessage-receiver-processor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eneskzlcn%2Fmessage-receiver-processor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eneskzlcn","download_url":"https://codeload.github.com/eneskzlcn/message-receiver-processor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eneskzlcn%2Fmessage-receiver-processor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29236174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T14:18:14.570Z","status":"ssl_error","status_checked_at":"2026-02-08T14:18:14.071Z","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":["gin","golang","messaging-api","rabbitmq","redis"],"created_at":"2026-02-08T16:05:44.951Z","updated_at":"2026-02-08T16:05:45.568Z","avatar_url":"https://github.com/eneskzlcn.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"### About Project\nThe project is like a backend-service of a message program.\nIt serves an endpoint to accept messages then it produces\na rabbitmq message. Another service that consumes rabbitmq\ncatches that message and write the message to the redis in a\nformat that each sender-receiver grouped messages are sorted\nin chronological descending order. The last service is\nthe reporting service which serves an endpoint to list\nall messages in chonological descending order with corresponding\nsender-receiver pair.\n\n### Local Setup\n\nFirstly, you need to up the redis and rabbitmq containers\nwhich are configured in docker-compose.yml\n\n```shell\n   docker compose up -d\n```\n\nThen Execute:\n\n```shell\n    go run main.go\n```\n\n\n### Endpoints\n\n`GET: /message:` When you hit that endpoint with the request\nhas body like `{sender:\"\", receiver:\"\", message:\"\"}`, it takes\nthat message and publishes that message to the rabbitmq.\n\n**GET: /message/list?sender=x\u0026receiver=y** When you hit that\nendpoint with query params **sender:string**, **received: string**,It\nreads the redis for senders message sent to receiver and returns a list of object\narray in a format like\n`[{sender:\"\", receiver:\"\", message:\"\"},\n{sender:\"\", receiver:\"\", message:\"\"}\n]` and in a chronological descending order.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feneskzlcn%2Fmessage-receiver-processor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feneskzlcn%2Fmessage-receiver-processor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feneskzlcn%2Fmessage-receiver-processor/lists"}