How shivakumarni777-coder/lms-oc works
This is a bank and loan-origination system: customers register, establish an account when needed, apply for loans, and view loan status; administrators review account requests and approve loans, triggering EMI calculation. The React SPA routes screens through query hooks and resource APIs to a Spring Boot service layer and MySQL-backed repositories; loan documents also use storage. README documents the frontend direction and API capabilities, while sampled source confirms account-request and loan-service behavior. Several controller and document links are unsampled, so those relationships are omitted or marked unverified.
Main entry points: controller REST controllers · App.jsx React route shell · hooks Query hooks · AccountOpeningService.java Account opening workflow
Components 19
Web experience
- React route shell
frontend/src/App.jsx - Customer screens
frontend/src/features/customers - Account review screens
frontend/src/features/accounts - Loan screens
frontend/src/features/loans - Query hooks
frontend/src/hooks - Resource API modules
frontend/src/api - HTTP and CSRF client
frontend/src/lib/httpClient.js
Identity and accounts
- Session authentication
src/main/java/com/bank/lms/service/AuthService.java - Account opening workflow
src/main/java/com/bank/lms/service/AccountOpeningService.java - Account request store
src/main/java/com/bank/lms/repository/AccountOpeningRequestRepository.java - Customer profile
src/main/java/com/bank/lms/service/CustomerService.java
Loan origination
- Loan workflow
src/main/java/com/bank/lms/service/LoanService.java - EMI calculation
src/main/java/com/bank/lms/service/EmiCalculator.java - Loan documents
src/main/java/com/bank/lms/service/LoanDocumentService.java - Document storage
src/main/java/com/bank/lms/service/storage/DocumentStorage.java
Backend platform
- REST controllers
src/main/java/com/bank/lms/controller - Loan and customer repositories
src/main/java/com/bank/lms/repository
Other components
- Customer or admin
- MySQL database
Connections 21
- Customer or admin → React route shell: uses
README.md - React route shell → Customer screens: routes to
frontend/src/App.jsx - React route shell → Account review screens: routes to
frontend/src/App.jsx - React route shell → Loan screens: routes to
frontend/src/App.jsx - Customer screens → Query hooks: uses
README.md - Account review screens → Query hooks: uses
frontend/src/features/accounts/AccountRequestReviewPage.jsx - Loan screens → Query hooks: uses
README.md - Query hooks → Resource API modules: calls
frontend/src/hooks/useAccountRequests.js - Resource API modules → HTTP and CSRF client: sends requests
frontend/src/api/accountService.js - HTTP and CSRF client → REST controllers: calls API
README.md - REST controllers → Session authentication: authenticates
src/main/java/com/bank/lms/controller/AuthController.java - REST controllers → Account opening workflow: delegates to
src/main/java/com/bank/lms/controller/AccountOpeningController.java - Account opening workflow → Account request store: reads and writes
src/main/java/com/bank/lms/service/AccountOpeningService.java - Account opening workflow → Customer profile: uses
src/main/java/com/bank/lms/service/AccountOpeningService.java - REST controllers → Loan workflow: delegates to
- Loan workflow → EMI calculation: calculates with
src/main/java/com/bank/lms/service/LoanService.java - Loan workflow → Loan and customer repositories: reads and writes
src/main/java/com/bank/lms/service/LoanService.java - REST controllers → Loan documents: delegates to
- Loan documents → Document storage: stores files
- Loan and customer repositories → MySQL database: persists entities
README.md - Account request store → MySQL database: persists requests
README.md