How maxmonice/javabank works
Polarity Bank has two parallel runtime surfaces: a Java console banking workflow backed by JDBC, and an evolving Spring Boot REST backend. The console path handles PIN-format checks, account authentication, account display, deposits and withdrawals, with balance changes persisted to MariaDB/MySQL. The backend currently shows application startup and simple greeting routes; the account endpoint and request DTO are present but their implementation excerpts are empty. The README documents broader backend intent, not a demonstrated connection to the console banking logic.
Main entry points: Database.java JDBC access · UI.java Terminal interface · BankAccount.java Bank account · JavabankBackendApplication.java Spring application
Components 15
Console Banking
- Console entry
src/main/java/JavaBank/Program.java - Terminal interface
src/main/java/JavaBank/UI.java
Account Domain
- Bank account
src/main/java/JavaBank/BankAccount.java - Current account
src/main/java/JavaBank/CurrentAccount.java - Savings account
src/main/java/JavaBank/SavingsAccount.java - Authentication exceptions
src/main/java/JavaBank/Exceptions
JDBC Persistence
- JDBC access
src/main/java/JavaBank/Database.java - PIN verification
src/main/java/JavaBank/PasswordHasher.java - Accounts database
Database/setup.sql
Spring REST Backend
- Spring application
javabank-backend/src/main/java/com/javabank/JavabankBackendApplication.java - Greeting routes
javabank-backend/src/main/java/com/javabank/Controller/HelloController.java - Account endpoint
javabank-backend/src/main/java/com/javabank/Controller/AccountController.java - Account request DTO
javabank-backend/src/main/java/com/javabank/DataTransferObject/AccountRequest.java
Other components
- Bank customer
- API consumer
Connections 15
- Bank customer → Console entry: launches
README.md - Console entry → Terminal interface: starts
src/main/java/JavaBank/Program.java - Bank customer → Terminal interface: enters credentials
src/main/java/JavaBank/UI.java - Terminal interface → JDBC access: authenticates account
src/main/java/JavaBank/UI.java - Terminal interface → Bank account: uses account
src/main/java/JavaBank/UI.java - Terminal interface → Authentication exceptions: handles authentication errors
src/main/java/JavaBank/UI.java - JDBC access → Authentication exceptions: throws
src/main/java/JavaBank/Database.java - JDBC access → Bank account: constructs account
src/main/java/JavaBank/Database.java - JDBC access → PIN verification: verifies PIN
src/main/java/JavaBank/Database.java - Bank account → JDBC access: updates balance
src/main/java/JavaBank/BankAccount.java - JDBC access → Accounts database: queries and updates
src/main/java/JavaBank/Database.java - API consumer → Greeting routes: requests routes
README.md - API consumer → Account endpoint: requests account API
README.md - Spring application → Greeting routes: serves routes
README.md - Spring application → Account endpoint: serves routes
README.md