Develop a comprehensive specification document for the project.
- Use tools like Perplexity to gather information on various approaches, architectures, and relevant technical papers.
- Document findings in markdown files, including pros and cons of different approaches.
- Elaborate on the project goal, providing context and background.
- Describe the target audience and their needs, including demographics and user personas.
- List and describe each functional requirement.
- Break down complex features into smaller, manageable components.
- Detail each non-functional requirement, explaining its importance.
- Include performance metrics, security standards, and scalability considerations.
- Describe typical user scenarios and provide user flow diagrams.
- Include step-by-step interactions and decision points.
- Discuss UI/UX guidelines and include design sketches if applicable.
- Reference design principles and accessibility standards.
- Suggest an organized file and directory structure.
- Use markdown files to outline and guide the process.
- List assumptions made during the specification process.
- Justify each assumption and its impact on the project.
- Justify the inclusion of each requirement.
- Consider potential challenges and propose mitigation strategies.
- Reflect on how each element contributes to the overall project goals.