Quick Start
This guide will help you set up Eventara on your local development environment.
Quick Start
Get Eventara running in under 2 minutes:
# Clone the repository
git clone https://github.com/tusharkhatriofficial/eventara.git
cd eventara
# Start all services with Docker Compose
docker compose up --build -dThen access:
- Dashboard: http://localhost:5173
- API: http://localhost:8080
- Kafka UI: http://localhost:8090
Continue reading for detailed setup instructions and verification steps.
Prerequisites
Before starting, ensure you have the following installed:
- Docker and Docker Compose (for containerized deployment)
- Git (to clone the repository)
For local development without Docker:
- Java 21 or higher
- PostgreSQL 14 or higher
- Apache Kafka (Confluent Platform 7.5.0 or compatible)
- Node.js 18+ and npm (for the dashboard)
Installation
Option 1: Docker Compose (Recommended)
This is the fastest way to get all services running.
Step 1: Clone the Repository
git clone https://github.com/tusharkhatriofficial/eventara.git
cd eventaraStep 2: Start All Services
docker compose up --build -dThis command starts the following services:
- PostgreSQL database (port 5432)
- Zookeeper (port 2181)
- Kafka broker (ports 9092, 9093)
- Kafka UI (port 8090)
- Spring Boot API (port 8080)
- React Dashboard (port 5173)
Step 3: Wait for Services to Initialize
Wait approximately 30 seconds for all services to start and be ready.
# View logs to monitor startup
docker compose logs -fStep 4: Verify Installation
Access the services:
| Service | URL | Description |
|---|---|---|
| Dashboard | http://localhost:5173 | Real-time analytics UI |
| API | http://localhost:8080 | REST API endpoints |
| Swagger UI | http://localhost:8080/swagger-ui.html | Interactive API documentation |
| Kafka UI | http://localhost:8090 | Kafka topic visualization |
Step 5: Test the System
Send a test event:
curl -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{
"eventType": "user.login",
"source": "auth-service",
"userId": "test_user_123",
"severity": "INFO"
}'Expected response:
{
"status": "accepted",
"eventId": "evt_a1b2c3d4",
"eventType": "user.login",
"timestamp": "2026-01-12T10:30:45.123Z",
"message": "Event accepted for processing"
}Watch the dashboard at http://localhost:5173 update in real-time.
Option 2: Local Development
For development without Docker:
Step 1: Set Up PostgreSQL
Create a database:
CREATE DATABASE eventara;
CREATE USER postgres WITH PASSWORD 'mysecretpassword';
GRANT ALL PRIVILEGES ON DATABASE eventara TO postgres;Step 2: Set Up Kafka
Download and start Kafka locally, or use Confluent Platform. Ensure it’s running on localhost:9093.
Step 3: Configure Application
Update src/main/resources/application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/eventara
spring.datasource.username=postgres
spring.datasource.password=mysecretpassword
spring.kafka.bootstrap-servers=localhost:9093Step 4: Run the Backend
./mvnw spring-boot:runStep 5: Run the Dashboard
cd eventara-dashboard
npm install
npm run devAccess the dashboard at http://localhost:5173 .
Quick Test Script
Run this script to generate sample events for testing:
for i in {1..60}; do
curl -s -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{"eventType":"user.login","source":"auth-service","userId":"user_'$i'","severity":"INFO"}' &&
curl -s -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{"eventType":"payment.success","source":"payment-service","userId":"user_'$i'","severity":"INFO"}' &&
curl -s -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{"eventType":"order.created","source":"order-service","userId":"user_'$i'","severity":"WARNING"}' &&
curl -s -X POST http://localhost:8080/api/v1/events \
-H "Content-Type: application/json" \
-d '{"eventType":"payment.failed","source":"payment-service","userId":"user_'$i'","severity":"ERROR"}'
sleep 0.3
doneThis script generates 240 events over approximately 20 seconds, allowing you to see the dashboard update in real-time.
Stopping Services
Docker Compose
# Stop all services
docker compose down
# Stop and remove volumes (clears all data)
docker compose down -vLocal Development
- Stop the Spring Boot application (Ctrl+C in the terminal)
- Stop the React dashboard (Ctrl+C in the terminal)
- Stop Kafka and PostgreSQL services
Next Steps
- Architecture - Understand the system design
- API Reference - Explore available endpoints
- Configuration - Customize your setup