--- description: Outlines the development requirements, including non-functional requirements, best practices, and coding guidelines. globs: --- # Development Requirements and Best Practices ## Non-Functional Requirements - **Performance:** Ensure fast loading times and responsive UI. Optimize backend for efficient processing. - **Scalability:** Design the system to handle increasing user load and data volume. - **Security:** Implement robust security measures to protect user data and prevent vulnerabilities. GDPR compliance for user data handling. - **Reliability:** Ensure the application is stable and handles errors gracefully. - **Accessibility:** Design with accessibility in mind (WCAG guidelines). - **Cross-Browser Compatibility:** Test and ensure compatibility across major browsers (Chrome, Firefox, Safari, Edge). - **Responsiveness:** Application should be fully responsive and work well on different devices (desktops, tablets, mobile). ## Development Best Practices - **Clean Code:** Write readable, maintainable, and well-documented code. - **Version Control:** Use Git for version control and collaborate effectively. Follow Git best practices (branching, pull requests). - **Testing:** Implement unit tests, integration tests, and end-to-end tests to ensure code quality and prevent regressions. - **Error Handling:** Implement comprehensive error handling throughout the application. Provide informative error messages to users. - **Logging:** Implement logging for debugging and monitoring purposes. - **Code Reviews:** Conduct code reviews to ensure code quality and knowledge sharing. - **Performance Optimization:** Implement code splitting, lazy loading, and caching where appropriate to optimize performance. - **Security Best Practices:** Follow security best practices for web development, including input validation, output encoding, and protection against common vulnerabilities (OWASP guidelines). - **Tailwind CSS Conventions:** Follow Tailwind CSS best practices for styling and maintainability. - **React Best Practices:** Adhere to React best practices for component design, state management, and performance.