Assignment
Design Recipe Collection App
Design the architecture for a simple recipe collection application where users can manage their favorite recipes.
Requirements
The app should allow users to:
Create: Add a new recipe (title, ingredients, instructions)
Read: View all recipes and individual recipe details
Update: Edit existing recipes
Delete: Remove recipes they no longer want
Your Task
Draw a simple diagram showing the architecture of this recipe app
Identify the components:
Where is the recipe data stored?
How does the frontend communicate with the backend?
What happens when a user adds a new recipe?
Create sequence diagrams showing the communication flow for:
Adding a new recipe
Viewing a specific recipe
Editing an existing recipe
Use this format to show how different parts communicate:
User → Frontend → Backend → Database
User clicks "Add Recipe" button
Frontend sends POST /recipes with recipe data
Backend saves data to database
Backend sends success response
Frontend updates the pageNeed help with sequence diagrams? Check out this tutorial on sequence diagrams.
Deliverables
Submit a document (text, image, or diagram) that includes:
Your architecture diagram
Brief explanations of each component
Sequence diagrams for the three user flows
Keep it simple and focus on the basic structure - you don't need to worry about complex features like user authentication or advanced search.
Tools for Creating Diagrams
Need help creating your diagrams? Here are some free drawing tools you can use:
Excalidraw - Simple, collaborative whiteboard tool perfect for technical diagrams
Draw.io - Free online diagramming tool with many templates
Google Drawings - Simple drawing tool integrated with Google Workspace
Tips
Think about what the user sees (frontend) vs what happens behind the scenes (backend)
Consider where recipe data needs to be stored permanently
Remember that the frontend and backend need to communicate somehow
For sequence diagrams, show the step-by-step communication between User → Frontend → Backend → Database
Include HTTP methods (GET, POST, PUT, DELETE) in your sequence diagrams
Last updated