-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the Banking System wiki. This knowledge base centralizes product documentation, architecture notes, and operational runbooks for the modular Java banking platform contained in this repository. Use the navigation links below to jump to areas of interest, or browse sequentially to gain a holistic understanding of the project.
- Platform Overview
- Architecture Summary
- Environment Setup
- Operations & Runbooks
- Testing Guide
- Troubleshooting
The Banking System simulates common retail banking flows such as customer onboarding, multi-account management, and transaction processing. Core capabilities include:
- Customer and account lifecycle management with Savings, Current, and Fixed Deposit account types.
- Transaction execution for deposits, withdrawals, transfers, interest postings, and audit trails.
- Console and HTTP interfaces backed by the shared domain model for teller workflows and automation.
- Observability hooks via notifiers and loggers that react to account events.
- Persistence and caching abstraction layers supporting in-memory demos and JDBC-backed deployments.
For deeper background, review the Architecture Summary or the existing reference documents in docs/.
If you are new to the project, start with:
- Environment Setup – install prerequisites and run the applications locally.
- Testing Guide – learn how to compile, run smoke tests, and execute CI workflows.
- Operations & Runbooks – understand day-two tasks such as migrations, backups, and monitoring.
Community expectations are covered in CODE_OF_CONDUCT.md and CONTRIBUTING.md. Review them before submitting issues or pull requests.
- System design diagrams: docs/architecture-system-design.md
- Detailed component breakdown: docs/architecture-low-level.md
- Database schema reference: docs/database-schema.md