-
Notifications
You must be signed in to change notification settings - Fork 56
Design Document Template
Opni design documents are meant to be living documents that are updated as things change and new features are introduced.
The following template should be used as a guideline rather than a strict rule.
A clear and concise title that describes the application and its purpose.
A brief overview of the application, including its purpose, key features, and the problem it is intended to solve.
A high-level diagram of the application's architecture, including the main components and their interactions, and a detailed description of the Kubernetes resources that will be used (e.g. Pods, Services, Deployments, etc.).
Given n components in the system, repeat the for every component. Consider creating a new page for complex components and placing it under this page as a subpage.
- Title
- Description
- Diagram
- Responsibilities
- Corresponding UI element(s)
- Description
- Screenshots
- Input and output interfaces
- Restrictions/limitations
- Design constraints
- Performance issues
- Test plan
- Unit tests
- Integration tests
- e2e tests
- Manual testing
A description of how the application will be scaled and the expected performance characteristics, including any performance metrics that will be used to measure success.
A description of the security considerations for the system
A description of how the application will be designed for high availability, including any redundancy or failover mechanisms that will be implemented.
A description of the deployment and rollout strategy, including any testing and staging environments, and how the application will be deployed and rolled out to
Architecture
- Backends
- Core Components