# Les 7 — Huiswerk ## Supabase verkennen **Deadline:** Voor Les 8 **Inleveren:** GitHub repo via Teams --- ## Opdracht 1 — Pak Supabase Dashboard erbij Klik door deze tabs in je Supabase project: - **Table Editor** — visueel polls en options - **SQL Editor** — query historie - **Database → Tables** — schema diagram - **Authentication** — preview (komt in Les 9) - **Settings → API** — keys - **Settings → Database** — connection string Maak in `SUPABASE.md` een korte lijst van wat elke tab doet (2 zinnen per tab). --- ## Opdracht 2 — Voeg eigen polls toe via SQL Niet via Dashboard knopjes — via SQL Editor. Schrijf 3 INSERT statements voor eigen polls (met opties). ```sql insert into polls (title) values ('Jouw vraag hier'); -- Vervolgens 3-4 opties voor die poll ``` Hint: gebruik `returning id` om de nieuwe poll-id te krijgen. Plak je SQL in `SUPABASE.md`. --- ## Opdracht 3 — Query een aggregate Bedenk een query die iets niet-triviaals doet. Voorbeelden: - Totaal aantal opties per poll - Polls van vandaag (`where created_at > now() - interval '1 day'`) - Top 3 polls met meeste opties Plak query + screenshot van resultaat in `SUPABASE.md`. --- ## Opdracht 4 — Bonus: Type generation Genereer TypeScript types vanuit je Supabase schema: ```bash pnpm add -D supabase pnpm dlx supabase login pnpm dlx supabase link --project-ref pnpm dlx supabase gen types typescript --linked > types/database.ts ``` Gebruik types in je code: ```typescript import type { Database } from "@/types/database"; import { createClient } from "@supabase/supabase-js"; export const supabase = createClient(...); ``` Voordeel: autocomplete + type-safe queries. --- ## Opdracht 5 — Reflectie (200 woorden) In `REFLECTIE.md`: - Wat snap je nu beter over relaties tussen tabellen? - Waar zit het verschil tussen Postgres en wat je eerder kende (Excel, MongoDB, ...)? - Welk onderdeel van Supabase zou je willen uitproberen? --- ## Inleveren GitHub repo URL via Teams. Werkende app + SUPABASE.md + REFLECTIE.md. --- ## Tips - **Eerst SQL begrijpen** — Postgres is een vaardigheid die jaren meegaat - **Type generation** scheelt veel bugs later — bonus aanrader - **Tijd:** ~2 uur