Skip to content

Latest commit

 

History

History
90 lines (72 loc) · 4.36 KB

File metadata and controls

90 lines (72 loc) · 4.36 KB

This repository contains a Spring Boot-based microservices architecture for managing loans, mandates, KYC, bank accounts, and notifications.


🧩 Microservices

Microservice Description
Eureka ServerService discovery
API GatewayCentral API access, routing, CORS, security
User ServiceGoogle OAuth2 login, user-role management
Bank Account ServiceBank account linking and approval
KYC ServiceUpload, verify, and approve Aadhaar/PAN
Loan ServiceApply for and manage loans
Mandate ServiceCreate and manage eMandates (auto-debit)
Notification ServiceKafka consumer for loan, mandate, and KYC events. Sends notifications via WebSocket (real-time updates) and SMS (template-based, pluggable)
Scheduler ServiceScheduled tasks via Kafka (e.g., EMI deduction)

⚙️ Tech Stack

Category Technologies Used
BackendSpring Boot + Spring Cloud (Eureka, Gateway)
MessagingKafka – Event-driven architecture
DatabasesPostgreSQL(neondb) – Hybrid DBs across services
AuthOAuth2 (Google)
Real-TimeWebSocket (STOMP) + SockJS – Real-time client updates
SchedulingQuartz Scheduler – Scheduled jobs/events
SMS IntegrationTwilio

🧪 Running Locally

Step Action
1Start Eureka Server at localhost:8761
2Start Kafka
3Start all services
4Access system via API Gateway at http://localhost:8080


📦 Repository Structure

microservices-springboot/
├── api-gateway/
├── eureka-server/
├── user-service/
├── bank-account-service/
├── kyc-service/
├── loan-service/
├── mandate-service/
├── notification-service/ # Kafka consumer, WebSocket, SMS
├── scheduler-service/ # Periodic jobs