A fault-tolerant financial validation system built using Java + Spring Boot that validates bank accounts or VPAs through external payment providers.
The project demonstrates how real financial backend systems handle asynchronous processing, provider integrations, and failure recovery.
| Feature | Description |
|---|---|
| Architecture | Asynchronous validation pipeline |
| Backend | Java + Spring Boot |
| Security | JWT Authentication + HMAC Webhook Validation |
| Processing | Background Worker Processing |
| Integration | External Payment Provider APIs |
| Reliability | Retry + Scheduler Recovery |
| Database | MySQL |
- Project Demo
- System Architecture
- Validation Lifecycle
- Request Processing Flow
- Failure Handling
- Security
- UI Screenshots
- Tech Stack
- Backend Concepts Demonstrated
- Future Improvements
🎥 Watch the System Demo
The demo shows:
- User login
- Validation request submission
- Async worker processing
- Provider API integration
- Webhook callback handling
- Final validation result in UI
UI
↓
Spring Boot API
↓
Validation Service
↓
Background Worker
↓
External Provider API
↓
Webhook Handler
↓
Event Processor
↓
Database
↓
UI Polling Result
The system processes validations asynchronously, ensuring the UI remains responsive while external validations are completed.
Each validation request moves through defined states.
INITIATED
↓
PROCESSING
↓
COMPLETED / FAILED / PROVIDER_CALL_TIMEOUT
This state-driven design prevents duplicate processing and supports safe retries.
User Request
↓
Spring Boot Controller
↓
Validation Service
↓
Persist Validation Request
↓
Background Worker Picks Task
↓
Provider API Call
↓
Provider Sends Webhook
↓
Event Processor Updates Result
↓
Database Updated
↓
UI Polling Returns Final Status
This architecture ensures non-blocking request processing.
External provider integrations can fail or respond slowly.
The system includes automatic recovery mechanisms.
If a webhook is delayed or not received:
Polling Scheduler
↓
Check validation status
↓
Update database
If a provider call fails:
Reconciliation Scheduler
↓
Retry pending validations
↓
Update final status
These mechanisms ensure eventual consistency.
- Spring Security
- JWT Authentication
- HMAC Signature Verification
- Ensures callbacks originate from trusted providers
- Java 17
- Spring Boot
- Spring Security
- JPA / Hibernate
- MySQL
- External Payment Provider APIs
- Webhook callbacks
- Background workers
- Scheduler jobs
This project demonstrates several real-world backend engineering patterns:
- Asynchronous request processing
- Webhook-driven architecture
- Background worker processing
- Scheduler-based failure recovery
- Idempotent validation handling
- Secure API authentication using JWT
- Event-driven validation lifecycle
Possible production enhancements:
- Message queues (Kafka / RabbitMQ)
- Distributed worker scaling
- Circuit breaker for provider APIs
- Monitoring dashboards
- API rate limiting
Venkatesh
Backend Developer



