fix: vercel
This commit is contained in:
78
Les13-Agents/Les13-Lesopdracht.md
Normal file
78
Les13-Agents/Les13-Lesopdracht.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Les 13 — Lesopdracht
|
||||
## Bouw je eigen Polderfest-agent
|
||||
|
||||
**Vak:** AI-Assisted Development
|
||||
**Opleiding:** NOVI Hogeschool Utrecht
|
||||
**Werkvorm:** in-class, na de pauze (±1,5 uur)
|
||||
**Status:** klaar = productie-URL in de chat delen
|
||||
|
||||
---
|
||||
|
||||
## Doel
|
||||
|
||||
Aan het einde van deze opdracht heb je een werkende Polderfest-agent
|
||||
met zes nieuwe features bovenop Les 12: getWeather, addToFavorites,
|
||||
finishPlan, hasToolCall, prepareStep, en een UI die tool-calls toont.
|
||||
|
||||
Live op je eigen Vercel-deployment.
|
||||
|
||||
---
|
||||
|
||||
## Wat je nodig hebt (zit allemaal al klaar uit Les 11/12)
|
||||
|
||||
- Je Polderfest-app uit Les 12, of `polderfest-original.zip` uit lesbestanden
|
||||
- Supabase project met `bands` en `user_favorites` tabel
|
||||
- OpenAI API key in `.env.local`
|
||||
- Vercel account
|
||||
- `Les13-Stap-voor-stap.md` als gids
|
||||
|
||||
---
|
||||
|
||||
## Stappenplan
|
||||
|
||||
Werk in jouw eigen tempo. Hierbij de hoofdlijn — voor de exacte code
|
||||
per stap zie `Les13-Stap-voor-stap.md` en `polderfest-with-agent.zip`.
|
||||
|
||||
1. **Project klaarzetten** — Polderfest-original uitpakken of eigen versie gebruiken, `npm install && npm run dev`
|
||||
2. **Nieuwe route** — `app/api/agent/route.ts` aanmaken (kopie van chat-route)
|
||||
3. **`addToFavorites`** — write-tool toevoegen (insert in `user_favorites`)
|
||||
4. **`getWeather`** — externe API (Open-Meteo, geen key)
|
||||
5. **`finishPlan`** — Zod-schema structured-output tool
|
||||
6. **`hasToolCall`** — extra stop-conditie naast `stepCountIs(8)`
|
||||
7. **`prepareStep`** — model switching (krachtig → goedkoop)
|
||||
8. **UI** — `app/agent/page.tsx` met tool-call-rendering
|
||||
9. **Testen** — drie demo-prompts in de browser
|
||||
10. **Deploy** — Vercel + env vars
|
||||
|
||||
---
|
||||
|
||||
## Op te leveren
|
||||
|
||||
Tijdens de les in de chat plaatsen:
|
||||
|
||||
- Productie-URL van je `/agent` pagina
|
||||
- Screenshot van je Supabase Table Editor met minimaal één nieuwe
|
||||
rij in `user_favorites` (gemaakt door de agent)
|
||||
|
||||
---
|
||||
|
||||
## Test-prompts (gebruik deze om te valideren)
|
||||
|
||||
| Prompt | Verwachte tools |
|
||||
|--------|-----------------|
|
||||
| "Plan een avond met indie en techno voor zaterdag." | searchBands × 2 + getDaySchedule + finishPlan |
|
||||
| "Wat speelt er op zondag en hoe is het weer?" | getDaySchedule + getWeather + finishPlan |
|
||||
| "Welke band moet ik NIET missen op vrijdag? Zet hem in mijn favorieten." | searchBands + addToFavorites + finishPlan |
|
||||
|
||||
Werkt prompt 3 niet (geen rij in `user_favorites`)? Check of de service-role-key
|
||||
in `.env.local` staat en of de tool de `band_id` correct ophaalt.
|
||||
|
||||
---
|
||||
|
||||
## Vastgelopen?
|
||||
|
||||
- Open `polderfest-with-agent.zip` als spiekbriefje
|
||||
- Zoek in de code op `// STEP N` voor de exacte plek per feature
|
||||
- Vraag in de chat — ik loop rond
|
||||
|
||||
Veel succes!
|
||||
Reference in New Issue
Block a user