{"id":49563341,"url":"https://github.com/rafiq15/kafka-pub-sub","last_synced_at":"2026-05-03T10:47:34.385Z","repository":{"id":309333342,"uuid":"1035836947","full_name":"rafiq15/kafka-pub-sub","owner":"rafiq15","description":"Real-time Kafka Publisher-Subscriber System with WebSocket Integration","archived":false,"fork":false,"pushed_at":"2025-08-11T08:48:26.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T10:47:32.673Z","etag":null,"topics":["apache-kafka","docker-compose","event-driven","java","microservice","pubsub","spring-boot","spring-kafka","stomp","thymeleaf","websocket"],"latest_commit_sha":null,"homepage":"","language":"Java","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/rafiq15.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,"zenodo":null}},"created_at":"2025-08-11T06:59:12.000Z","updated_at":"2025-11-30T18:07:40.000Z","dependencies_parsed_at":"2025-08-11T10:33:23.575Z","dependency_job_id":"16a99d1e-ce87-4d33-995f-bca1c10470d7","html_url":"https://github.com/rafiq15/kafka-pub-sub","commit_stats":null,"previous_names":["rafiq15/kafka-pub-sub"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rafiq15/kafka-pub-sub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafiq15%2Fkafka-pub-sub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafiq15%2Fkafka-pub-sub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafiq15%2Fkafka-pub-sub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafiq15%2Fkafka-pub-sub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafiq15","download_url":"https://codeload.github.com/rafiq15/kafka-pub-sub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafiq15%2Fkafka-pub-sub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32566444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"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":["apache-kafka","docker-compose","event-driven","java","microservice","pubsub","spring-boot","spring-kafka","stomp","thymeleaf","websocket"],"created_at":"2026-05-03T10:47:33.805Z","updated_at":"2026-05-03T10:47:34.380Z","avatar_url":"https://github.com/rafiq15.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kafka Pub/Sub Project\n\n## Overview\nThis repository contains a sample implementation of a Kafka-based Publisher and Subscriber using Spring Boot. The project demonstrates how to publish and consume messages via Kafka, with WebSocket integration for real-time updates.\n\n## Architecture\n- **kafka-publisher**: Publishes messages to Kafka topics via REST/WebSocket endpoints.\n- **kafka-subscriber**: Subscribes to Kafka topics and forwards messages to clients via WebSocket.\n- **Kafka**: Managed via Docker Compose for local development.\n\n```\n[Client] \u003c--WebSocket--\u003e [Publisher] \u003c--Kafka--\u003e [Subscriber] \u003c--WebSocket--\u003e [Client]\n```\n\n## Prerequisites\n- Java 17+\n- Docker \u0026 Docker Compose\n- Gradle\n\n## Setup \u0026 Running Locally\n1. **Clone the repository**\n   ```powershell\n   git clone \u003crepo-url\u003e\n   cd kafka-pub-sub\n   ```\n2. **Start Kafka using Docker Compose**\n   ```powershell\n   docker-compose up -d\n   ```\n3. **Build and run Publisher**\n   ```powershell\n   cd kafka-publisher\n   ./gradlew bootRun\n   ```\n4. **Build and run Subscriber**\n   ```powershell\n   cd kafka-subscriber\n   ./gradlew bootRun\n   ```\n\n## Usage\n- **Publish a message**: Send a POST request to the publisher's REST endpoint or use the WebSocket interface.\n- **Receive messages**: Connect to the subscriber's WebSocket endpoint to receive real-time updates.\n\n## Configuration\n- Edit `src/main/resources/application.properties` in each service to configure Kafka brokers, topics, and WebSocket settings.\n- Example:\n  ```properties\n  # Kafka broker address\n  spring.kafka.bootstrap-servers=localhost:9092\n  # Topic name\n  kafka.topic.name=messageQueue\n  ```\n\n## Testing\n- Run unit and integration tests using Gradle:\n  ```powershell\n  ./gradlew test\n  ```\n\n## Contribution Guidelines\n- Use JavaDoc for all public classes and methods.\n- Add comments to configuration files explaining each property.\n- Follow standard naming conventions and keep code self-explanatory.\n- Submit pull requests with a clear description of changes.\n\n## License\nThis project is licensed under the MIT License.\n\n## Troubleshooting\n- Ensure Kafka is running before starting publisher/subscriber services.\n- Check application logs for errors.\n- For Docker issues, run `docker-compose logs`.\n\n---\nFor more details, see the documentation guidelines in the repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafiq15%2Fkafka-pub-sub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafiq15%2Fkafka-pub-sub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafiq15%2Fkafka-pub-sub/lists"}