Commit Graph
21 Commits
Author SHA1 Message Date
Mustafa Cetin 8e7116e57d ef86edca-b830-4db2-809e-dffcc46423ed 2026-07-29 14:28:39 +00:00
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 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