Low-Level Design (LLD) Template
Document Revision History
| Ver No | Date | Change Information | Author | Approver |
|---|---|---|---|---|
| V1.0 | Date | Initial Draft | Author Name | Approver Name |
1. Problem Statement
- Clearly describe the problem in 2–3 lines
- Mention what needs to be achieved and why
Example:
Admin dashboard should display the count of pending transfers so that operations team can monitor incomplete transactions and take timely action.
2. Scope
- What is included
- What is excluded (if any)
3. Solution Approach (Technical Design)
3.1 Overview
- High-level explanation of the solution
- Mention whether:
- Existing services will be reused
- New services/APIs will be created
- Existing services will be enhanced
3.2 Components / Modules Involved
- List all impacted modules:
- Backend services
- Frontend/UI
- Database
- External integrations (if any)
3.3 API Design
- For each API:
- API Name:
- Method: (GET/POST/PUT/DELETE)
- Endpoint:
- Request:
- Response:
- Auth Required: Yes/No
- Service Handling It:
3.4 Data Flow
- Step-by-step flow of how data moves across systems
- Mention:
- Source of data
- Processing logic
- Final output
3.5 Database Impact
- New tables (if any)
- Changes in existing tables
- New fields/columns
- Indexing (if needed)
- Query changes
3.6 Business Logic
- Core logic/conditions
- Rules to calculate/derive values
Example:
Pending transfer = transactions where status IN (initiated, processing, on-hold)
3.7 Service Design
- Number of services impacted/added
- Description of each:
- New service
- Modified service
- Reusable service
3.8 Error Handling
- Failure scenarios
- Retry mechanisms
- Logging strategy
- User-facing error messages
3.9 Edge Cases
- List all possible edge cases
Example:
- Transfer stuck due to insufficient liquidity
- Partial transaction completion
- Duplicate requests
3.10 Performance Considerations
- Query optimization
- Caching (if required)
- Pagination / batching
- Expected load
3.11 Security Considerations
- Authentication / Authorization
- Data masking (if applicable)
- Sensitive data handling
4. Sequence Diagram
- Visual flow of request → processing → response
- Must include:
- UI
- Backend service(s)
- DB
- External systems (if any)
5. Unit Test Criteria
- Define test scenarios:
Example:
- Valid pending transfers count
- No data scenario
- Error response handling
- Edge case validation
6. Integration / QA Test Scenarios
- End-to-end scenarios
- APIUI validation
7. Dependencies
- External services
- Other modules
- Data availability
8. Assumptions
- Any assumptions made during design
9. Risks & Mitigation
- Potential risks
- How to handle them
10. Deployment / Rollout Plan
- Any migration required
- Backward compatibility
- Feature flag (if needed)
11. Open Questions
- Any pending clarifications