A simplified implementation of a message broker system, inspired by Apache Kafka. This project was created as a challenge from Devgym.
The Kafka Clone project is a basic message broker system that allows clients to publish and consume messages through a TCP connection. It provides a simplified version of the publish-subscribe model, allowing clients to create topics, publish messages to topics, and consume messages from topics.
-
Publish-Subscribe Model: Clients can create topics, publish messages to topics, and consume messages from topics.
-
TCP Communication: Communication between the server and clients is established over TCP connections.
-
Simple Command Line Interface: Clients interact with the system using a simple command line interface.
-
Start the server:
make server
-
The server will start listening on
localhost:8080
.
-
Start a client:
make client
-
Follow the command line prompts to publish or consume messages.
- PUBLISH: Publish a message to a topic.
- CONSUME: Consume messages from a topic.
- EXIT: Exit the client application.
🎉 Thank you for considering contributing to Kafka Clone! 🎉
The following is a set of guidelines for contributing to this project. Please take a moment to review this document to make the contribution process smooth and effective for everyone.
1 - Fork the repository and clone it to your local machine.
git clone https://github.com/RianNegreiros/devgym-kafka-clone.git
cd kafka-clone
2 - Create a new branch for your contribution.
git checkout -b feature/your-feature
3 - Make your changes and commit them.
git add .
git commit -m "Add your meaningful commit message here"
4 - Push your changes to your fork.
git push origin feature/your-feature
Reporting Bugs
If you find a bug, please open an issue and provide a detailed description of the problem, including any error messages and steps to reproduce.
Suggesting Enhancements
If you have an idea for an enhancement, feel free to open an issue to discuss it. Provide as much detail as possible to help the community understand your suggestion.