Implemented comprehensive release notes feature with: - MDX-based content system for easy release note authoring - Thematic sidebar navigation (Foundation, Features, Infrastructure) - Auto-generated pages from MDX frontmatter - Overview page with status filtering (completed/in_progress/planned) - Detail pages with custom MDX components - Mobile-responsive navigation (horizontal scroll tabs) - Integration with timeline (link to detailed release notes) - Added "Releases" link to header navigation Technical implementation: - next-mdx-remote for MDX parsing and rendering - gray-matter for frontmatter extraction - Custom MDX components for images, code blocks, typography - Static site generation (SSG) for performance - Template system for consistent release note structure Files added: - app/(marketing)/releases/ - Route structure and components - content/nl/releases/ - MDX content files and index - lib/mdx/releases.ts - MDX utility functions - docs/specs/releasepage/ - Build plan documentation - docs/templates/release-note-template.mdx - Content template First release note: authentication.mdx (login, signup, password reset) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
232 lines
4.8 KiB
Plaintext
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 overview pagina"
|
|
---
|
|
|
|
## 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]
|
|
|
|

|
|
*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 formulier met email/password en demo account optie*
|
|
|
|
### Signup Flow
|
|

|
|
*Signup formulier met password confirmation*
|
|
|
|
### Error States
|
|

|
|
*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).
|