Authors: <>
Date: <>
- Provide an overview of the project, including the problem that is being solved, the goals and objectives, and any relevant background information.
- Explain the meaning of certain abbreviations. (Format: ABBREVIATION = FULL MEANING, MP = Multi Processing)
- Provide a short list of goal you plan on achieving. Bullet points will suffice.
- Provide a short list of goals that are out-of-scope for this project. Bullet points will suffice.
- List the functional and non-functional requirements for the project, including any constraints or assumptions that were made during the planning process.
- Describe the overall architecture of the system, including the main components and how they interact with each other.
- Provide diagrams or other visual aids, if necessary, to help clarify the architecture.
- Detail the design of each component of the system, including any algorithms, data structures, or other implementation details.
- Provide pseudocode or code snippets, if appropriate, to illustrate the design.
- Describe the data model, including any entities, attributes, and relationships.
- Provide a diagram of the data model, if appropriate.
- If this change is not backwards compatibile, detail a strategy to migrate the previous implementation.
Repeat design, data model and breaking changes for each phase
- Provide a detailed description of the user interface, including any wireframes or mockups.
- Describe any user interactions or navigation flows.
- Detail any security considerations and how they will be addressed in the design.
- Describe how the system will be deployed, including any infrastructure, software, or other dependencies.
- Provide a high-level overview of the deployment process.
- Outline the testing strategy, including any unit tests, integration tests, or other types of testing that will be performed.
- Describe how testing will be automated and integrated into the development process.
- Summarize the main points of the document and provide any additional information that is relevant to the project.
- Seeing as this project is intended for learning purposes, you are encouraged to share any resources used to write this TDD.