How sofiarahul/banking-platform works
This repository implements a digital banking platform with a React client and Spring backend. The main user journey is authentication, selecting an account, then viewing or performing account operations; additional flows cover savings goals, spending insights, statements and scheduled payments. The tree identifies these product areas, and sampled source confirms selected service behavior, including account operations, insight queries and savings-goal persistence. No README was provided, and most controller/service wiring was not sampled, so uncertain call relationships are omitted.
Main entry points: App.jsx Application routes · axiosClient.js API client · pages Account pages · AuthService.java Authentication service
Components 27
Banking client
- Application routes
src/App.jsx - Auth UI
src/auth/AuthContext.jsx - Account pages
src/pages - Customer pages
src/pages - Insights and history
src/pages - Goal components
src/components - API client
src/api/axiosClient.js
Identity and access
- Authentication API
backend/src/main/java/com/group1/banking/controller/AuthController.java - Authentication service
backend/src/main/java/com/group1/banking/service/AuthService.java - JWT service
backend/src/main/java/com/group1/banking/security/JwtService.java
Accounts and payments
- Account API
backend/src/main/java/com/group1/banking/controller/AccountController.java - Transaction API
backend/src/main/java/com/group1/banking/controller/TransactionController.java - Account operations
backend/src/main/java/com/group1/banking/service/impl/AccountService.java - Money operations
backend/src/main/java/com/group1/banking/service/impl/MonetaryOperationService.java - Standing orders
backend/src/main/java/com/group1/banking/service/StandingOrderService.java - Order execution
backend/src/main/java/com/group1/banking/scheduler/StandingOrderExecutionJob.java - GIC investments
backend/src/main/java/com/group1/banking/service/impl/GicService.java
Customer services
- Savings goals API
backend/src/main/java/com/group1/banking/controller/SavingsGoalController.java - Savings goal service
backend/src/main/java/com/group1/banking/service/SavingsGoalService.java - Insights API
backend/src/main/java/com/group1/banking/controller/InsightController.java - Spending insights
backend/src/main/java/com/group1/banking/service/SpendingInsightService.java - Statements
backend/src/main/java/com/group1/banking/service/MonthlyStatementService.java - Notifications
backend/src/main/java/com/group1/banking/controller/NotificationController.java - Customer management
backend/src/main/java/com/group1/banking/controller/CustomerController.java
Other components
- Customer
- Bank admin
- Persistence repositories
backend/src/main/java/com/group1/banking/repository
Connections 16
- Customer → Application routes: uses
- Bank admin → Application routes: uses
- Application routes → Auth UI: renders
- Application routes → Account pages: routes
- Application routes → Customer pages: routes
- Application routes → Insights and history: routes
- Account pages → API client: requests data
- Customer pages → API client: requests data
- Insights and history → API client: requests data
- Goal components → API client: requests data
- Authentication API → Authentication service: delegates
- Authentication service → JWT service: issues tokens
- Savings goals API → Savings goal service: delegates
- Savings goal service → Persistence repositories: reads and writes
- Spending insights → Persistence repositories: queries transactions
- Order execution → Standing orders: executes orders