Requirement Specification - VikRic/MealPlanner GitHub Wiki
1. Functional Requirements
This section describes use cases that summarize functional requirements found in the backlog.
📄 Use Case – Create Meal Plan
-
Actor: Logged-in user
-
Goal: Create a weekly meal plan based on preferences and allergies
-
Scenario:
1. The user enters any allergies and preferences.
2. The system generates a meal suggestion using the Spoonacular API.
3. The user saves the plan to their profile.
4. A shopping list is generated based on the plan.
-
Related Requirements: 001, 002, 003, 006, 007, 008, 009, 010
2. Non-Functional Product Requirements
🔧 Quality Requirements
Requirement | Description | Testability |
---|---|---|
Availability | The application should be accessible via modern browsers. | Manually tested in multiple browsers. |
Performance | Recipes should load within 2 seconds. | Measure load time using browser dev tools. |
Usability | The UI should be clear with intuitive navigation. | User testing and feedback. |
Security | Login and registration should protect user data. | Test session handling and password hashing. |
Error Handling | Error messages should appear when API requests fail. | Simulate failures and verify user feedback. |
3. Non-Functional Organizational Requirements
3.1 🔄 Version Control
- Strategy: Git with GitHub as remote repository
- Workflow: Git Flow model
main
= stable releases- Feature branches for new functionality
3.2 🧑💻 Code Standards
- Language: JavaScript (Node.js, React)
- Style Guide: ESLint with LNU configuration
- Exceptions: Inline styling is used in some components for rapid prototyping instead of CSS modules.
3.3 📚 Code Documentation
- Internal documentation: JSDoc comments for functions and components
4. Non-Functional External Requirements
4.1 ⚖️ Ethical Requirements
- Risk Analysis: Incorrect recipes can lead to allergic reactions. Allergy filtering must work correctly.
- Ethical Reflection: The app helps reduce food waste.
- Environmental Aspect: Planning and generating shopping lists reduce spontaneous purchases and food waste.
4.2 ⚖️ Legal & Standards Compliance
- Personal Data: Only email and password are stored, encrypted using Clerk.
- GDPR Compliance:
- Users can delete their accounts (and all associated data) via account settings.