Backend transaction-processing system built using Spring Boot, Apache Kafka, REST APIs, H2 Database, Maven, and JPA as part of the JPMorgan Chase & Co. Software Engineering Virtual Experience Program on Forage.
This project simulates a scalable financial transaction-processing backend system capable of:
- Receiving transactions asynchronously using Apache Kafka
- Validating and processing transactions
- Persisting transaction records using H2 Database + Spring Data JPA
- Integrating with external REST APIs
- Exposing balance APIs through Spring Boot REST Controllers
- Implementing distributed systems concepts and event-driven architecture
- Java 17
- Spring Boot
- Spring Data JPA
- Apache Kafka
- REST APIs
- Maven
- H2 Database
- Distributed Systems
- Event-Driven Architecture
- Transaction Processing
- REST Integration
- Asynchronous Messaging
- Fault Tolerance
- Kafka listener consumes transaction events asynchronously
- Topic-based event processing
- JSON transaction deserialization
- Validates sender and recipient accounts
- Prevents invalid balance transfers
- Updates balances atomically
- H2 in-memory database integration
- JPA entity persistence
- Transaction record storage
- Consumes external REST incentive service
- Processes incentive rewards for transactions
- Updates recipient balances accordingly
- GET
/balance?userId={id}endpoint - Returns user balance as JSON
- Default balance handling for invalid users
src/main/java/com/jpmc/midascore
│
├── entity/
├── foundation/
├── repository/
├── BalanceController.java
├── KafkaTransactionListener.java
└── RestTemplateConfig.java
git clone https://github.com/karthikrshet/forage-midas-JPMorgan.git
cd forage-midas-JPMorganInstall:
- Java 17
- Maven
Verify:
java -version
mvn -versioncd services
java -jar transaction-incentive-api.jar./mvnw spring-boot:run./mvnw test- Backend system architecture
- Kafka-based asynchronous processing
- Spring Boot REST API development
- Database integration with JPA
- Distributed systems concepts
- Transaction consistency and validation
- REST service integration
Completed through:
- JPMorgan Chase & Co.
- Forage Virtual Experience Program
Software Engineer | Backend & Full Stack Developer
- GitHub: https://github.com/karthikrshet
- LinkedIn: https://linkedin.com/in/karthik-shet-519530257
- Portfolio: https://karthikrshet.github.io/portfolio