System Design Question
Frequently Asked Questions
Press to expand
OOD (Abstract Problem)
OOD (Realworld Application)
Basic System Component
Distributed Architecture
Data Processing & Analytics
Social Media
Scheduling Service
Transaction Service
Proximity / Trie
Messaging System
Collaborative System
Machine Learning
Security System
Cloud Infrastructure
Miscellaneous
Or Customize Question
Press to expand
Design Banking System
Practice the Question
Hello, I am bugfree Assistant. Feel free to ask me for any question related to this problem
Requirements Definition
Requirements Definition
Users
Customers
: Can view their accounts, check balances, deposit/withdraw money, and transfer funds between accounts.
Bank Employees
: Can view and manage customer accounts, approve or reject loan applications.
Administrators
: Manage system users, monitor system health, and configure security settings.
Core Functionalities
User Authentication
: Secure login for all users.
Account Management
: Customers can open and close accounts, view balances, and see transaction history.
Transaction Processing
: Support for deposits, withdrawals, and transfers with real-time balance updates.
Loan Management
: Customers can apply for loans; employees can review and process these applications.
Basic Fraud Detection
: Monitor transactions for suspicious activity (e.g., large or unusual transfers).
Prioritization
Must Have
: User authentication, account management, transaction processing, and basic fraud detection.
Should Have
: Loan application and processing.
Could Have
: Enhanced fraud detection, customer support features, and reporting tools.
Out of Scope
Investment products, insurance, third-party integrations, and advanced analytics are not considered in this design.
Core Entities Identification
Entity Relationships and Use Cases Establishment
API Design
Request Flows Outline
Scalability and Flexibility Consideration
Trade-offs Discussion
Failure Scenarios Analysis
System Design Diagrams
High Level Architecture
Request Flow Sequence
API Design
Database Design
Zoom In and Out via trackpad or posture