Next.js 16 App-Router-Projekt für einen lokalen Notiz- und Prüfungs-Tracker im Physikstudium. Enthält Markdown/LaTeX-Rendering, PDF-Export, FullCalendar-Integration sowie lokale Persistenz in localStorage.
- Modul-Dashboard mit Glas-Optik (Tailwind CSS + shadcn/ui)
- Markdown-Editor mit Live-Vorschau (react-markdown + KaTeX)
- PDF-Export via LaTeX-Compilation (Server-API)
- FullCalendar (Monats- & Wochenansicht) mit festem Stundenplan und eigenen Prüfungen
- Backup/Restore von Notizen & Events (JSON), iCal-Export (.ics), Schriftgrößen-Umschalter
- Vollständig clientseitig, Statusverwaltung via Context + Reducer
- Installieren
npm install
- Entwicklung starten
npm run dev
- Projekt im Browser via
http://localhost:3000öffnen.
Hinweis: Die KaTeX-CSS wird direkt aus
katex/dist/katex.min.csseingebunden.
npm run dev– Entwicklungnpm run build– Produktionsbuildnpm run start– Build-Server startennpm run lint– ESLint (next/core-web-vitals)node scripts/mcp-test.mjs– MCP-Tools via Streamable HTTP testen
- Entwicklungs-Setup:
npm run devstarten und anschließendnode scripts/mcp-test.mjs http://localhost:3000/api/mcpausführen. - Claude Desktop / Cursor via
mcp-remoteanbinden:{ "servers": { "phys-notes-mcp": { "command": "npx", "args": ["-y", "mcp-remote", "http://localhost:3000/api/mcp"] } } } - Streamable HTTP steht unter
/api/mcp/mcpbereit. Für SSE (/api/mcp/sse) mussREDIS_URLgesetzt sein (z. B. auf Vercel mit Upstash Redis). - Die MCP-Tools sind stateless: Notizen/Event-Payloads werden vom Client übergeben, es erfolgt keine Serverspeicherung.
app/ # App Router Seiten (Dashboard, Notizen, Kalender, Settings)
components/ # UI-Komponenten (Glass Cards, Editor, Kalender, shadcn/ui)
lib/ # Module, Notes/Calendar/Settings-Contexts, Utilities
styles/ # Tailwind setup
public/ # Statische Assets
- Semantische HTML-Struktur, Buttons/Labels mit
aria-Attribute - Tastaturbedienbare Dialoge (Radix/shadcn)
- Klare Kontraste durch dunkles Design + Glasmorphism-Highlights
MIT