# 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 <jouw-project-id>
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<Database>(...);
```

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
