{"id":25612374,"url":"https://github.com/ashvegeta/whisperwave-backend","last_synced_at":"2026-04-02T01:19:31.034Z","repository":{"id":216376984,"uuid":"736738783","full_name":"ashvegeta/WhisperWave-Backend","owner":"ashvegeta","description":"A simple chat application written in Golang","archived":false,"fork":false,"pushed_at":"2025-07-21T18:34:31.000Z","size":40795,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-12T01:18:37.310Z","etag":null,"topics":["chat-application","dynamodb","golang","gorilla-mux","socket-programming","system-design-project","websockets"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashvegeta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-28T18:25:34.000Z","updated_at":"2025-02-07T01:20:37.000Z","dependencies_parsed_at":"2024-01-19T01:53:07.654Z","dependency_job_id":"efb2e746-a1df-4e73-a2eb-906efdc0b111","html_url":"https://github.com/ashvegeta/WhisperWave-Backend","commit_stats":null,"previous_names":["ashvegeta/whisperwave-backend","ashvegeta/whisperwave"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ashvegeta/WhisperWave-Backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashvegeta%2FWhisperWave-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashvegeta%2FWhisperWave-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashvegeta%2FWhisperWave-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashvegeta%2FWhisperWave-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashvegeta","download_url":"https://codeload.github.com/ashvegeta/WhisperWave-Backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashvegeta%2FWhisperWave-Backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:05:07.454Z","status":"ssl_error","status_checked_at":"2026-04-02T00:56:46.496Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["chat-application","dynamodb","golang","gorilla-mux","socket-programming","system-design-project","websockets"],"created_at":"2025-02-22T00:19:40.904Z","updated_at":"2026-04-02T01:19:31.009Z","avatar_url":"https://github.com/ashvegeta.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e WhisperWave\u003c/h1\u003e\n\u003ch3\u003e A simple chat application written in Golang\u003c/h3\u003e\n\n\u003ch2\u003eAbout\u003c/h2\u003e\n\nWhisperWave is an application that emerged as a hobby project to understand and simulate real-time chat applications. To understand in detail, the project structure, data flow and the thinking process behind the database design, click on the medium \n[post](https://medium.com/@1ms18cs030/my-experience-in-building-a-chat-application-in-golang-f0b815d7b7ae).\n\n\u003ch2\u003eSystem Design\u003c/h2\u003e\n  \n![2-user system design](https://i.imgur.com/uTkLGRM.png)\n\n\u003ch2\u003eDataBase Design\u003c/h2\u003e\n  \n![Database Design Overview](https://i.imgur.com/tDzaQdw.png)\n\n\u003ch2\u003eTech Stack\u003c/h2\u003e\n\n\u003cimg src=\"https://i.imgur.com/rZsHj24.png\" width=\"98px\" height=\"48px\"\u003e   \u003cimg src=\"https://i.imgur.com/OAOXf5W.png\" width=\"200px\" height=\"100px\"\u003e   \u003cimg src=\"https://i.imgur.com/ZgxcU74.png\" width=\"250px\" height=\"48px\"\u003e\n\n\u003ch2\u003eProject Setup\u003c/h2\u003e\n\n1. To set up the project, clone the repository by typing:\n   \n    ```\n   git clone\n    ```\n\n4. Install all the golang modules declared in ```go.mod``` file using:\n\n   ```\n   go mod download\n   ```\n\n6. Follow the official RabbitMQ documentation or visit dockerhub to download the server image:\n\n   ```\n   docker pull rabbitmq:3.12-management\n   ```\n   \n8. Run the RabbitMQ docker container and map it to the port of your liking:\n\n     ```shell\n   docker run -d --hostname [your-hostname] --name [docker-server-name] -p [service-port]:5672 -p [management-port]:15672 rabbitmq:3.12-management\n     ```\n9. Confgure AWS Credentials using AWS CLI:\n    ```\n    aws configure\n    ```\n\n9. Enter the root directory of the project where the MakeFile is present and type:\n    ```\n    make\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashvegeta%2Fwhisperwave-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashvegeta%2Fwhisperwave-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashvegeta%2Fwhisperwave-backend/lists"}