5.1 KiB
Les 11: Van Idee naar Prototype
Hoofdstuk
Deel 3: Full-Stack Development (Les 9-12)
Beschrijving
Proces van vaag idee naar werkend prototype. Feature breakdown, component thinking, MVP planning, user stories, en voorbereiding op eindproject. Kiezen van eindproject idea en architectuur opzetten.
Te Behandelen (~45 min)
- Hoe ga je van vaag idee naar concrete features?
- Feature breakdown method en AI-hulp
- Component thinking: UI opdelen in herbruikbare stukken
- MVP (Minimum Viable Product) denken
- User stories schrijven (As a user I want to...)
- Prioritizing features: must-have, nice-to-have, later
- Database schema planning voor je idee
- Project architecture design
- Folder structure planning
- Eindproject idee kiezen (vereenvoudigde versie)
Van Idee naar Feature Breakdown
Stap 1: Beschrijf je idee in 1 zin
"Ik wil een app waar je recepten kan zoeken op basis van ingrediënten die je hebt"
Stap 2: Werk uit wat gebruikers willen
User stories:
- Als gebruiker wil ik ingrediënten kunnen invoeren
- Als gebruiker wil ik recepten suggesties krijgen
- Als gebruiker wil ik recepten kunnen opslaan
Stap 3: Break down in features
Core Features:
- Ingredient input form
- Recipe search/filter
- Save favorites
- View saved recipes
Nice-to-have:
- Meal planning
- Shopping list generator
- Nutritional info
- Export recipes
Stap 4: Prioriteer (MVP)
- ✅ Input form + recipe search
- ✅ Display results
- ✅ Save/favorites
- ❌ Shopping list (later)
- ❌ Meal planning (later)
Component Thinking
Visualiseer je app:
App
├── Header
├── SearchForm (input + submit)
├── RecipeList
│ └── RecipeCard (repeated)
│ ├── Title
│ ├── Ingredients
│ ├── Favorite button
│ └── View details
└── Footer
Questions to ask:
- Welke componenten worden herhaald?
- Welke componenten zijn child components?
- Welke componenten hebben state?
- Waar gaat data vandaan?
MVP Denken
MVP = Minimum Viable Product
Het eenvoudigst mogelijke product dat nog steeds waarde levert.
❌ Niet MVP:
- Alle features tegelijk
- Perfect design met animaties
- Geavanceerde filters
- Social features
✅ Wel MVP:
- Core functionaliteit werkt
- Basis styling (Tailwind)
- Happy path werkt
- Data persists (database)
Database Planning
Voor recipe app:
users table:
- id, email, password_hash, created_at
recipes table:
- id, title, ingredients, instructions, created_at
favorites table:
- id, user_id, recipe_id, created_at
Relations:
- users → favorites (one-to-many)
- users → saved_recipes (one-to-many)
- recipes → favorites (one-to-many)
Tools
- Cursor
- ChatGPT (voor planning)
- Pen & papier (voor sketches)
Lesopdracht (2 uur, klassikaal)
Kies je Eindproject & Plan Architectuur
Groepsdiscussie (15 min): Bespreek klassikaal de styling ervaringen uit Les 10 - welke Tailwind en shadcn/ui patterns werkten goed?
Deel 1: Idee Kiezen (30 min)
Kies één van deze projecten OF je eigen idee (met goedkeuring docent):
- AI Recipe Generator - Input: ingredients, Output: recipe suggestions + cooking tips
- Smart Budget Buddy - Track expenses, AI insights on spending patterns
- Travel Planner AI - Generate itineraries based on preferences
- Study Buddy AI - Quiz generation, note-taking, Q&A helper
- Jouw eigen idee
Deel 2: Feature Breakdown (30 min)
Voor je gekozen project:
- Schrijf project description (2-3 zinnen)
- Maak 3-5 user stories
- Break down in core vs nice-to-have features
- Selecteer MVP (wat is essentieel?)
Deel 3: Architecture Planning (45 min)
- Schets database schema
- List de main components
- Plan folder structure
- Identify donde AI integreert (tool calling? Chat? Completion?)
Deel 4: Start Codebase (15 min)
- Maak GitHub repo
- Create-next-app setup
- Push initial commit
Deliverable
- Project description document
- Feature breakdown met user stories
- Database schema diagram (hand-drawn ok)
- Component tree visualization
- GitHub repo met initial setup
Huiswerk (2 uur)
Bouw Basis Architecture
Deel 1: Folder Structure (30 min)
Create proper folder structure:
- src/components/ui/
- src/components/features/
- src/lib/
- src/hooks/
- src/types/
- docs/
Deel 2: Type Definitions (30 min)
Schrijf TypeScript types voor je project:
- User type
- Main data types
- API response types
Deel 3: Component Skeleton (1 uur)
Maak skeleton components:
- Main layout
- 3-4 main feature components (without logic)
- Proper props interfaces
- Basic Tailwind styling
Deliverable
- GitHub commits met folder structure
- types/ folder met je data types
- Skeleton components
- README.md met project description
Leerdoelen
Na deze les kan de student:
- Een project idee van vaag naar concreet uitwerken
- User stories schrijven
- Feature breakdown maken
- MVP bepalen
- Database schema ontwerpen
- Component architecture plannen
- Project codebase opzetten
- TypeScript types structureren
- Voorbereiding maken op verdere implementatie