This application includes is a component designed to interact with Kafka clusters. Its current functionality allows users to view messages by providing a configuration. This is intended to simplify Kafka debugging and monitoring tasks. Future enhancements will add more features, such as producing messages and detailed consumer group information.
- View Kafka messages using a configuration.
- Produce Kafka messages directly from the application.
- Monitor and analyze consumer groups.
This guide outlines the steps to run the application in different modes: using Docker Compose for production, using a development setup, or launching each component manually.
This application consists of a Frontend (FE) and a Backend (BE), orchestrated with Docker Compose.
Three primary modes are available for running the application:
- Production Mode: Uses the main
compose.yamlfile to run the application with pre-built images. - Development Mode: Utilizes the
compose.dev.yamldevelopment-specific Docker Compose file for live development and testing. - Manual Launch: The User starts each component independently without Docker Compose.
The Backend code is located inside kafka-utils-be and is developed using Kotlin and gradle.
The Frontend code is located inside kafka-utils-fe and is developed using Angular and gradle.
According to the usage mode pretended, ensure the following tools are installed on your system:
-
Production mode:
-
Development mode:
-
Manual mode:
- Docker
- Docker Compose
- Node.js (to launch the Frontend manually)
- Kotlin (or the required runtime for the Backend)
To run the application in production mode:
-
Build and run the services using Docker Compose:
docker compose pull docker compose up
Or
docker compose pull docker compose up -d
-
Verify the services are running:
docker compose ps
-
Access the application:
- Frontend:
http://localhost:4300 - Backend:
http://localhost:8083
- Frontend:
To stop the services:
docker compose downFor development purposes, use the development-specific Docker Compose file. This setup allows hot-reloading.
- Start the services using the development configuration:
docker compose -f .\compose.dev.yaml up --build --watch - Access the application:
- Frontend:
http://localhost:4300 - Backend:
http://localhost:8083
- Frontend:
In this mode, each component is launched manually. This is useful for debugging or running the application without Docker.
- Navigate to the Frontend directory:
cd kafka-utils-fe - Install dependencies:
npm install
- Start the frontend server:
npm start
- Access the frontend at
http://localhost:4200.
- Navigate to the backend directory:
cd kafka-utils-be - Build the application:
./gradlew build
- Run the backend application:
java -jar build/libs/kafka-utils-all.jar
- Access the backend at
http://localhost:8083.