Files
triqura-ecd/docs/templates/release-note-template.mdx
colinislit 8e08cdc09f refactor: rename 'Releases' to 'Documentatie'
Changed terminology from release notes to feature documentation
to better reflect the continuous build-in-public approach.

Changes:
- Navigation: "Releases" → "Documentatie"
- Page titles: "Release Notes" → "Feature Documentatie"
- Metadata descriptions updated
- Timeline link text updated
- Sidebar heading updated
- Template and example docs updated

The /releases route remains the same for stability,
but all user-facing text now says "Documentatie".

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 21:18:32 +01:00

232 lines
4.8 KiB
Plaintext

---
title: "[Feature Name] - Descriptive Title"
category: "category-slug"
group: "foundation | features | infrastructure"
version: "0.1.0"
releaseDate: "2024-11-15"
status: "completed | in_progress | planned"
description: "Korte beschrijving (1-2 zinnen) voor documentatie overview"
---
## Overview
Korte introductie van wat er is gebouwd. Waarom is dit belangrijk? Welk probleem lost het op?
Bijvoorbeeld:
> "De authentication flow is de basis van het EPD systeem. Gebruikers kunnen nu veilig inloggen, accounts aanmaken en wachtwoorden resetten via Supabase Auth."
---
## Features
### Feature 1: [Naam]
![Screenshot beschrijving](/releases/[category]/[image].png)
*Caption: Beschrijf wat je in de screenshot ziet*
Beschrijving van de feature:
- Belangrijkste functionaliteit
- User benefits
- Edge cases afgehandeld
**Demo:**
- Stap 1: Open `/login`
- Stap 2: Vul credentials in
- Stap 3: Klik op login knop
- Resultaat: Redirect naar `/epd/clients`
**Code voorbeeld** (optioneel):
```tsx
// Relevante code snippet
const handleLogin = async (email: string, password: string) => {
const { data, error } = await supabase.auth.signInWithPassword({
email,
password
})
if (error) throw error
return data
}
```
### Feature 2: [Naam]
[Herhaal bovenstaande structuur...]
---
## Improvements
Verbeteringen aan bestaande functionaliteit:
- **Performance:** Login response tijd van 2s naar 500ms
- **UX:** Error messages nu user-friendly
- **Accessibility:** Keyboard navigation toegevoegd
---
## Bug Fixes
Opgeloste bugs (indien van toepassing):
- ✅ Fixed: Wachtwoord reset email kwam niet aan
- ✅ Fixed: Session expiry handling
- ✅ Fixed: Redirect loop bij logout
---
## Technical Notes
### Architecture
Technische details voor developers:
- **Stack:** Supabase Auth + Next.js 15 + Server Actions
- **Database:** RLS policies voor user isolation
- **Security:** PKCE flow voor OAuth
- **Session:** JWT tokens in httpOnly cookies
### File Structure
```
app/
├── login/
│ └── page.tsx # Login form
├── signup/
│ └── page.tsx # Signup form
└── auth/
└── callback/
└── route.ts # OAuth callback handler
lib/
├── auth/
│ ├── client.ts # Client-side auth functions
│ └── server.ts # Server-side auth helpers
```
### Database Schema
```sql
-- Relevant tables/policies
CREATE POLICY "Users can only read own data"
ON profiles FOR SELECT
USING (auth.uid() = id);
```
### Configuration
Environment variables vereist:
```bash
NEXT_PUBLIC_SUPABASE_URL=your_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_key
```
---
## Breaking Changes
⚠️ **Let op:** Breaking changes voor developers (indien van toepassing):
- `loginUser()` functie hernoemd naar `signInWithPassword()`
- `UserSession` type nu `Session` (import van @supabase/supabase-js)
**Migration guide:**
```tsx
// ❌ Oud
import { loginUser } from '@/lib/auth'
const session = await loginUser(email, password)
// ✅ Nieuw
import { signInWithPassword } from '@/lib/auth/client'
const { data } = await signInWithPassword(email, password)
```
---
## Testing
### Manual Test Checklist
- [ ] Login met valid credentials werkt
- [ ] Login met invalid credentials toont error
- [ ] Signup flow compleet doorlopen
- [ ] Password reset email ontvangen
- [ ] Session persists na page reload
- [ ] Logout werkt correct
### Automated Tests
```bash
# Run tests
npm run test:auth
# Coverage
npm run test:coverage
```
---
## Metrics
**Development:**
- ⏱️ Build tijd: 8 uur
- 📝 Lines of code: ~450
- 🧪 Test coverage: 85%
**Performance:**
- 🚀 Login response: < 500ms (was 2s)
- 📦 Bundle size: +12kb (auth client)
- 💾 Database queries: 2 per login
**Cost:**
- 💰 Supabase: €0 (free tier)
- 💰 Vercel: €0 (hobby plan)
---
## Screenshots
### Login Screen
![Login screen](/releases/authentication/login-screen.png)
*Login formulier met email/password en demo account optie*
### Signup Flow
![Signup screen](/releases/authentication/signup-flow.png)
*Signup formulier met password confirmation*
### Error States
![Error handling](/releases/authentication/error-states.png)
*User-friendly error messages voor verschillende scenarios*
---
## Related Links
**Timeline:**
- [Week 1 - Foundation](/timeline#week-1)
**Documentation:**
- [Database Schema](/docs/database-schema)
- [API Documentation](/docs/api)
**External:**
- [Supabase Auth Docs](https://supabase.com/docs/guides/auth)
- [Next.js Auth Guide](https://nextjs.org/docs/authentication)
---
## What's Next
Geplande verbeteringen voor volgende releases:
- 🔜 OAuth providers (Google, GitHub)
- 🔜 Multi-factor authentication (MFA)
- 🔜 Magic link login
- 🔜 Session management dashboard
---
## Feedback
Vragen of feedback? [Open een issue](https://github.com/[org]/[repo]/issues) of [stuur een email](mailto:contact@example.com).