Commit Graph
27 Commits
Author SHA1 Message Date
Mustafa Cetin 6306217353 Round 19: DSGVO/GDPR compliance, cookie consent, data export, account deletion, Jugendschutz
- Add Cookie Consent component (TTDSG-compliant, essential + analytics cookies)
- Add GDPR Data Export API (DSGVO Art. 20 - data portability)
- Add Account Deletion API (DSGVO Art. 17 - right to erasure, 30-day grace period)
- Add Datenschutz (Privacy) tab in Settings with:
  - Privacy policy (data collected, purpose, retention, third-party sharing)
  - User rights (6 DSGVO rights with descriptions)
  - Data export button (download all personal data as JSON)
  - Account deletion with confirmation dialog and grace period
  - Jugendschutz (youth protection) notices
  - DPA/AVV section for admin (Auftragsverarbeitungsvertrag)
- Add Jugendschutz notice in student login (parental consent for under 16)
- Add 65+ i18n keys for DE and EN (DSGVO, privacy, Jugendschutz, DPA)
- All German law terms accurate (DSGVO, Jugendschutzgesetz, TTDSG, AVV)
2026-07-29 14:27:56 +00:00
Mustafa Cetin 849b48a5a4 Round 19: Competition system, German curriculum learning, enhanced notebooks, student dashboard
- Fix portfolio-view.tsx: replace entry.isPublic with form.isPublic (runtime error)
- Add Competition system: 5 Prisma models (Competition, CompetitionParticipant, CompetitionReward, CompetitionLeaderboard, RewardClaim)
- Add German curriculum learning: 4 Prisma models (SubjectTopic, SubjectLesson, LessonQuestion, StudentAnswer)
- Add 12 API routes for competitions and rewards
- Add 7 API routes for subject topics, lessons, questions, and student answers
- Create competitions-view.tsx with full CRUD, leaderboard, rewards, registration
- Enhance notebooks-view.tsx with 'Lernen' tab for German curriculum subjects
- Add student-specific dashboard with Papier sparen banner, notebook quick access, learning progress
- Add competitions to teacher and student navigation
- Add 130+ i18n keys for DE and EN (competitions, rewards, learning, environment)
- Enhanced student nav with competitions and notebooks
- DSGVO-compliant reward claims with status lifecycle
2026-07-29 14:18:18 +00:00
Mustafa Cetin 74404708e5 Round 19: Fix auth 500/session persistence, script tag warning, module factory error, rate limiting
- Fix auth session persistence: set cookie on both cookies() and NextResponse
- Fix isSecureRequest: check x-forwarded-proto for HTTPS proxy support
- Fix excessive GET /api/auth polling: add useRef guard to prevent duplicate checks
- Increase rate limits: auth POST 30/min, auth GET 120/min
- Fix script tag warning: use ref-based textContent instead of dangerouslySetInnerHTML in chart.tsx
- Fix sanitizeHtml: improve regex patterns for script tag removal
- Fix module factory error: disable SW registration in dev, skip /_next/ caching in sw.js
- Bump SW cache version v2→v3 to force cache invalidation
- Better error handling in auth route with specific error messages
2026-07-29 13:34:33 +00:00
Mustafa Cetin 760fa70e82 Fix: Bug fixes - auth 500, script tag, dynamic import, rate limit, demo credentials 2026-07-29 12:59:22 +00:00
Mustafa Cetin 55c916a9e9 Fix: Auth 500 error, script tag warning, dynamic import, rate limit 2026-07-29 12:56:28 +00:00
Mustafa Cetin 8507984c7e Round 18: Seating Chart, Student Avatars, Newsletter, Badges, Deep Styling Polish 2026-07-29 12:40:31 +00:00
Mustafa Cetin 0363a40ca0 Round 18: Seating Chart, Student Avatars, Newsletter, Badges, Deep Styling Polish 2026-07-29 12:38:19 +00:00
Mustafa Cetin cba8a8e724 Round 17: QR Codes, Gamification Badges, Auto-Award, Badge Management 2026-07-29 12:19:50 +00:00
Mustafa Cetin 6174f127f9 Round 16: Peer Assessment, Emergency Contacts, School Events, School Branding, Email Templates, Performance, Styling Polish, Onboarding 24 Steps 2026-07-29 11:45:24 +00:00
Mustafa Cetin d45ba030f5 Round 15: Update worklog with final verification results 2026-07-29 11:21:47 +00:00
Mustafa Cetin 1b384551db Round 15: Timetable, Resource Library, Advanced Analytics, Accessibility 2026-07-29 11:21:30 +00:00
Mustafa Cetin 2485c73149 Round 15: Timetable, Resource Library, Advanced Analytics, Accessibility 2026-07-29 11:19:09 +00:00
Mustafa Cetin a94f900ae0 Round 15: Timetable, Resource Library, Advanced Analytics, Accessibility 2026-07-29 11:16:28 +00:00
Mustafa Cetin 0a7cfae311 Round 14: Self-Assessment, Learning Goals, Portfolio, Homework, Announcements 2026-07-29 10:57:45 +00:00
Mustafa Cetin 744c44a862 Round 14: Updated worklog with verification results 2026-07-29 10:55:19 +00:00
Mustafa Cetin 50c2d13d90 Round 14: Self-Assessment, Learning Goals, Portfolio, Homework, Announcements 2026-07-29 10:53:22 +00:00
Mustafa Cetin d325984786 Round 13b: Report Scheduling, Multi-School District Support 2026-07-29 10:39:24 +00:00
Mustafa Cetin ff4dd670d4 Round 13: PWA Offline Mode, Rate Limiting, Behavior Analytics, Interventions, Audit Logging 2026-07-29 10:23:50 +00:00
Mustafa Cetin ceea8fb591 Round 14: Lint cleanup, ESLint config fix, hook violation fix, worklog update 2026-07-29 09:48:00 +00:00
Mustafa Cetin ba55bd13e4 Round 12: WebSocket Collaboration, Curriculum Mapping, Attendance Analytics, Data Backup, Mobile Optimization, Performance 2026-07-29 09:47:32 +00:00
Mustafa Cetin 21310d3f62 Update worklog for Round 11 2026-07-29 09:16:51 +00:00
Mustafa Cetin c3d36aac67 Round 11: DrawingCanvas Integration, Notebook Versioning, Student Auth, Parent Portal, Calendar Recurring, Grade PDF, Data Import/Export 2026-07-29 09:15:59 +00:00
Mustafa Cetin b90ad85b91 Round 10: WYSIWYG Editor, Notification System, Calendar Events, Student UI, Drag-Reorder, Styling 2026-07-29 08:49:40 +00:00
Mustafa Cetin 62f4a150e0 CompetenceTrack v9 - Rich text editor, Drawing integration, PDF export, Notebook sharing, Templates, Keyboard shortcuts
Features:
- Rich text toolbar for notebook pages (Bold, Italic, Underline, Headings, Lists)
- Drawing canvas integration in notebook pages (toggle drawing mode)
- Notebook PDF export (client-side print with print CSS)
- Page background rendering (lined, grid, blank, dotted, music, calligraphy)
- Page thumbnails in sidebar with bookmark indicators
- Auto-save with 3-second debounce
- Notebook sharing with classes (isPublic toggle)
- Notebook duplication (copy with all pages)
- 6 pre-built notebook templates (Math, Deutsch, Englisch, Kunst, Musik, Sachkunde)
- Shared notebooks tab (view other teachers' shared notebooks)
- Templates tab with one-click creation
- Keyboard shortcuts (Cmd+N, Cmd+D, Cmd+Shift+N, Cmd+E, Cmd+Shift+A, Cmd+.)
- Student notebook access (role-based UI)
- Role indicator in notebook header (Teacher/Student)
- Onboarding tour expanded to 14 steps
- Dashboard improvements (Today's Schedule, Paper Saved counter, Recent Activity)
- Classes view improvements (student/subject counts, type badges)
- Competence flower improvements (shadow, shimmer, mastery summary)
- Progress entries improvements (mastery distribution chart)
- Global CSS improvements (dark scrollbar, focus-visible, card-hover-glow)
- 60+ new i18n keys (German/English)

Bug Fixes:
- Notebook creation not refreshing list (fixed by calling loadData after creation)
- Missing BarChart3 import in progress-entries-view
- Escaped quotes in JSX className attributes
2026-07-29 08:02:04 +00:00
Mustafa Cetin 04034dca62 CompetenceTrack v8 - Complete UI/UX redesign, Digital Notebooks, Drawing Canvas, Demo Data Cleanup
Features:
- Complete UI/UX redesign for tablet/stylus optimization
- Digital Notebook system (lined, grid, blank, dotted, music, calligraphy)
- Drawing Canvas with stylus/pen support, pressure sensitivity
- Art class mode with tutorial guides and shape templates
- Demo data one-click cleanup for production transition
- Subject-specific notebook filtering
- Environmental messaging (Papier sparen, Umwelt schützen)
- 44px minimum touch targets for tablet
- No emojis - Lucide icons throughout
- 700+ i18n keys (German/English)
- Notebook types: lined, grid, blank, dotted, music, calligraphy
- Drawing tools: pencil, pen, line, rectangle, circle, eraser
- Undo/redo, color picker, stroke width, export PNG
- Archive/unarchive notebooks
- White backgrounds throughout
- Emerald accent color theme

Backend:
- Notebook CRUD API routes
- Drawing CRUD API routes
- Demo data cleanup API
- Prisma schema with Notebook, NotebookPage, Drawing models
- isDemo flags on all new models
2026-07-29 06:39:40 +00:00
Mustafa Cetin 456cdf9714 feat: styling improvements + grade trend chart + student comparison
- Enhanced reports, grading, attendance, settings views with gradient headers, hover effects, section icons
- Added grade trend over time chart (AreaChart with reversed Y-axis)
- Added student comparison feature in competence flower (dual radar overlay)
- Added 6 new i18n keys for grade trend and comparison
- Lint passes cleanly
2026-07-29 05:58:27 +00:00
Mustafa Cetin 0c1f739989 Initial commit: ExaMetra v1.0.0 — Free & open-source competence & grading platform
Features:
- 15+ views: Dashboard, Classes, Progress, Flower, Matrix, Assessments, Grading, Reports, Attendance, Calendar, Lesson Plans, Analytics, Parent Communication, Behavior Tracking, Settings
- 34+ API endpoints
- 30+ Prisma models
- 700+ i18n keys (German + English)
- Keyboard shortcuts (Cmd+K, Cmd+1-9, Cmd+/)
- Batch deletion, drag-and-drop seating, custom color palette
- Demo accounts (admin, teacher, student, parent)
- Dark mode, responsive design, print styles
- CSV/PDF export, notification system, onboarding tour
- Zero emojis — all replaced with Lucide icons
- MIT License
2026-07-29 05:46:10 +00:00