This project uses asynchronous queuing (via RabbitMQ) to handle communication between internal services, ensuring scalability and performance even under high-traffic conditions.
- JDK 23
- Gradle (Kotlin DSL)
- IntelliJ IDEA (recommended) with Docker plugin (optional)
- Docker installed
- Postman (for API testing)
git clone https://github.com/shashwathkamath/ChargingPointSessionService.git
docker run -d --hostname my-rabbit --name rabbitmq \
-p 5672:5672 -p 15672:15672 rabbitmq:3-management
- Open docker-compose.yml
- Click the Run/Play button next to the services section
- This will start both RabbitMQ and PostgreSQL automatically
- To verify Rabbit MQ setup, go to browser
- Open http://localhost:15672
- username: guest
- password: guest
- From intelij or cli, run the Main.kt file to start the application.
- Import postman collections and run login api.
- You should get status 200 and sample json
- Sequence diagrams and objectives explained here: https://docs.google.com/document/d/18EU1KPouKqje3AuvDFcoeLM3gR-Txr3bgEx2qQ_Wjtg/edit?tab=t.0
- If you face any issues in above mentioned steps, then please contact me at kamathsh91@gmail.com