Skip to content

sathishjayapal/eventstracker

Repository files navigation

EventsTracker

Spring Boot service for event ingestion and tracking with PostgreSQL, RabbitMQ, and Spring Cloud Config.

Stack: Java 21, Spring Boot 3.5.7, PostgreSQL, RabbitMQ, Flyway, MapStruct, ShedLock

Quick Start

  1. Prerequisites: Java 21, Docker, Maven
  2. Start dependencies:
    ./eventtracker.sh deps
  3. Run the app:
    ./mvnw spring-boot:run
  4. Open: http://localhost:9081

Architecture

EventTracker ──▶ Config Server (8888) ──▶ jubilant-memory Git repo
     │
     ├──▶ PostgreSQL (6433)
     └──▶ RabbitMQ (5672)

Configuration loads in order: application.yml → config server profile (eventstracker-local.yml / eventstracker-prod.yml) → environment variables.

Running from IntelliJ

  1. Run ./eventtracker.sh deps in a terminal (services stay running in Docker)
  2. Open project in IntelliJ, set active profile to local
  3. Run/Debug EventServiceApplication

The local profile auto-loads .env generated by dev-up.sh.

Production

Set environment variables and run with the prod profile:

export SPRING_PROFILES_ACTIVE=prod
export CONFIG_SERVER_URL=http://sathish-config-server:8888
export EVENTS_TRACKER_DB_URL=<jdbc-url>
export EVENTS_TRACKER_DB_USER=<user>
export EVENTS_TRACKER_DB_PASSWORD=<password>
export RABBITMQ_HOST=<host>
export RABBITMQ_USERNAME=<user>
export RABBITMQ_PASSWORD=<password>

Script Reference

Command Description
./eventtracker.sh check Validate prerequisites
./eventtracker.sh dev Local DB only (no config server)
./eventtracker.sh deps Config server + DB + RabbitMQ
./eventtracker.sh start Full stack including app
./eventtracker.sh cloud Switch .env to cloud DB
./eventtracker.sh status Show running services and ports
./eventtracker.sh stop Stop all containers
./eventtracker.sh mappers Regenerate MapStruct sources

Troubleshooting

  • Failed to configure a DataSource — run ./eventtracker.sh deps then verify .env exists
  • password authentication failed — re-run ./eventtracker.sh deps to re-sync DB role
  • Config server unreachablecurl http://localhost:8888/actuator/health
  • General diagnostics./eventtracker.sh check && ./eventtracker.sh status

README Update Policy

CI enforces that changes to src/, pom.xml, Dockerfile, or operational scripts must include a README update in the same commit.

About

Events Tracker Repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors