[dyad] SchulOS markalama kabul kriterlerini doğrulama

This commit is contained in:
[dyad] committed 2026-08-02 01:55:22 +02:00
1 parent 0b0481a4d0
commit 5e66bae15b
57 files changed
+195 -191

No files matched your search

+1 -1
View File
@@ -59,7 +59,7 @@ export default function CompliancePage() {
<Card className="border-emerald-200 bg-emerald-50">
<CardContent className="pt-6">
<p className="text-emerald-800 mb-4">
✓ Compliance onboarding completed successfully! Your school is now ready to use ExaMetra.
✓ Compliance onboarding completed successfully! Your school is now ready to use SchulOS.
</p>
<button
onClick={() => router.push("/admin/compliance-overview")}
+1 -1
View File
@@ -1,4 +1,4 @@
// CompetenceTrack — Announcement Read Receipt API
// SchulOS — Announcement Read Receipt API
import { NextResponse } from 'next/server';
import { db } from '@/lib/db';
import { getSession } from '@/lib/auth';
+1 -1
View File
@@ -51,7 +51,7 @@ export async function POST(request: Request) {
teacherName: `${session.user?.firstName || 'Frau'} ${session.user?.lastName || 'Muster'}`,
date: new Date().toLocaleDateString('de-DE'),
score: '85%',
schoolName: 'CompetenceTrack Schule',
schoolName: 'SchulOS Schule',
subjectName: 'Mathematik',
behaviorDescription: 'Beschreibung des Vorfalls',
behaviorCategory: 'Störung',
+2 -2
View File
@@ -253,7 +253,7 @@ export async function GET() {
const exportData: Record<string, unknown> = {
exportMetadata: {
exportDate: new Date().toISOString(),
platform: 'CompetenceTrack',
platform: 'SchulOS',
legalBasis: 'DSGVO Art. 20 - Recht auf Datenübertragbarkeit',
userId: user.id,
},
@@ -285,7 +285,7 @@ export async function GET() {
return NextResponse.json(exportData, {
headers: {
'Content-Disposition': `attachment; filename="competencetrack-data-export-${new Date().toISOString().split('T')[0]}.json"`,
'Content-Disposition': `attachment; filename="schulos-data-export-${new Date().toISOString().split('T')[0]}.json"`,
},
});
} catch (error) {
+1 -1
View File
@@ -1,4 +1,4 @@
// CompetenceTrack — Single Notification API
// SchulOS — Single Notification API
import { NextResponse } from 'next/server';
import { db } from '@/lib/db';
import { getSession } from '@/lib/auth';
@@ -1,4 +1,4 @@
// CompetenceTrack — Notification Preferences API
// SchulOS — Notification Preferences API
import { NextResponse } from 'next/server';
import { db } from '@/lib/db';
import { getSession } from '@/lib/auth';
+1 -1
View File
@@ -1,4 +1,4 @@
// CompetenceTrack — Notifications API (DB-backed, Enhanced)
// SchulOS — Notifications API (DB-backed, Enhanced)
import { NextResponse } from 'next/server';
import { db } from '@/lib/db';
import { getSession } from '@/lib/auth';
+2 -2
View File
@@ -337,7 +337,7 @@ function generatePrintHtml(report: Record<string, unknown>, template: string): s
</style>
</head>
<body>
<div class="watermark">CompetenceTrack</div>
<div class="watermark">SchulOS</div>
<button class="print-btn no-print" onclick="window.print()">Drucken / Print</button>
<div class="header">
@@ -364,7 +364,7 @@ function generatePrintHtml(report: Record<string, unknown>, template: string): s
${gradesHtml}
<div class="footer">
<p>CompetenceTrack — Kompetenzbericht · ${new Date().toLocaleDateString('de-DE')}</p>
<p>SchulOS — Kompetenzbericht · ${new Date().toLocaleDateString('de-DE')}</p>
</div>
<div class="eco-footer">
Digital erstellt — Papier sparen, Umwelt schutzen
+2 -2
View File
@@ -126,8 +126,8 @@ export async function POST(request: Request) {
{
schoolId: school.id,
name: 'welcome',
subject: 'Willkommen bei CompetenceTrack',
body: '<h1>Willkommen bei CompetenceTrack!</h1><p>Hallo {{studentName}},</p><p>du wurdest für die Schule {{schoolName}} registriert.</p><p>Deine Zugangsdaten:</p><p>E-Mail: {{email}}</p><p>Bitte melde dich an und ändere dein Passwort.</p><p>Mit freundlichen Grüßen,<br>{{schoolName}}</p>',
subject: 'Willkommen bei SchulOS',
body: '<h1>Willkommen bei SchulOS!</h1><p>Hallo {{studentName}},</p><p>du wurdest für die Schule {{schoolName}} registriert.</p><p>Deine Zugangsdaten:</p><p>E-Mail: {{email}}</p><p>Bitte melde dich an und ändere dein Passwort.</p><p>Mit freundlichen Grüßen,<br>{{schoolName}}</p>',
isDefault: true,
},
];
+5 -5
View File
@@ -15,19 +15,19 @@ const geistMono = Geist_Mono({
});
export const metadata: Metadata = {
title: "CompetenceTrack — Free Competency & Grading Platform",
title: "SchulOS — Free Competency & Grading Platform",
description: "Open-Source School Software for Competency-Based Assessment and Grading. Built with Next.js, TypeScript, and shadcn/ui.",
keywords: ["CompetenceTrack", "competency", "grading", "school", "education", "Next.js", "TypeScript", "shadcn/ui"],
authors: [{ name: "CompetenceTrack Team" }],
keywords: ["SchulOS", "competency", "grading", "school", "education", "Next.js", "TypeScript", "shadcn/ui"],
authors: [{ name: "SchulOS Team" }],
manifest: "/manifest.json",
icons: {
icon: "https://z-cdn.chatglm.cn/z-ai/static/logo.svg",
icon: "/logo.svg",
apple: "/icon-192.png",
},
appleWebApp: {
capable: true,
statusBarStyle: "default",
title: "CompetenceTrack",
title: "SchulOS",
},
};