My Weekly ToDo List - A web-based weekly task management app
Go to file
mARTin-B78 a20cc6dc65
Some checks are pending
Playwright Tests / test (push) Waiting to run
Test and SonarQube / quality (push) Waiting to run
feat: Content-Security-Policy im Report-Only-Modus einfuehren
L4 aus dem TODO-Block Sicherheitsdurchgang. Bewusst vorsichtig: die Policy laeuft
zunaechst nur als "Content-Security-Policy-Report-Only" und blockiert nichts, meldet
aber ueber den neuen Endpunkt POST /api/csp-report jeden Verstoss (console.error/PM2).

Whitelist aus dem tatsaechlichen Code abgeleitet, nicht geraten:
- fonts.googleapis.com/fonts.gstatic.com: FontPicker.tsx/WeeklyView.tsx laden
  Nutzer-Schriftarten zur Laufzeit per <link> nach
- 'unsafe-inline' fuer script-src/style-src: Next.js' App-Router-Hydration und der
  eine dangerouslySetInnerHTML-Block in WeeklyView.tsx (View-Transition-Styles)
  brauchen das ohne Nonce-Infrastruktur (eigener, groesserer Umbau)
- Kein <iframe>, keine Drittanbieter-Bilder, keine clientseitigen fetch()-Aufrufe zu
  fremden Domains gefunden. FontAwesome laeuft als React-Komponente im eigenen
  Bundle. OAuth-Redirects sind Top-Level-Navigation, von CSP nicht betroffen.

src/middleware.ts: /api/csp-report von der Login-Pflicht ausgenommen -- der Browser
schickt Reports automatisch, auch von der nicht angemeldeten Login-Seite.

Scharf schalten (Report-Only aus dem Header-Namen entfernen) erst, nachdem ein paar
Tage Reports durchgesehen wurden -- die OAuth-Flows (Google/Microsoft/Apple/Notion)
liessen sich hier nicht interaktiv durchklicken.

Verifiziert: Typecheck, Lint, 85 Unit-Tests, Produktions-Build, Header und
Report-Endpunkt manuell im gebauten Standalone-Server geprueft.

v1.125.0

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 17:43:48 +02:00
.claude feat: improve PDF export — header, layout, icons, tab filter 2026-04-13 17:00:13 +02:00
.github/workflows feat: rate limiting, token hashing, remove mock login route 2026-09-06 20:01:30 +02:00
.opencode feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
.planning feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
docs docs: Schritt 2 der Secret-Rotation auf selbst gehostetes Supabase korrigiert 2026-09-06 23:15:14 +02:00
prisma feat: add customizable CSS variables and custom CSS to Styling settings 2026-07-08 19:57:21 +02:00
public feat: optional provider icon on calendar event blocks 2026-03-24 10:56:49 +01:00
scripts fix: Deploy-Skript darf Daten nicht mehr automatisch loeschen, Fehlermeldungen haerten 2026-09-12 15:36:00 +02:00
spec feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
specs feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
src feat: Content-Security-Policy im Report-Only-Modus einfuehren 2026-09-12 17:43:48 +02:00
tests feat: Kalender-Zugangsdaten verschluesselt speichern (AES-256-GCM) 2026-09-12 16:53:33 +02:00
Version 01 feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
.dockerignore fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
.env.example fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
.eslintrc.json feat: Add Google Tasks, Apple Reminders, task import/sync, holidays, and UI enhancements 2026-02-20 16:56:14 +01:00
.gitignore feat: fehlgeschlagener Build reisst die laufende App nicht mehr mit 2026-09-07 22:33:04 +02:00
build.pid fix: security hardening, Prisma singleton, tsconfig cleanup 2026-04-20 19:52:47 +02:00
CHANGELOG.md feat: Content-Security-Policy im Report-Only-Modus einfuehren 2026-09-12 17:43:48 +02:00
CLAUDE.md feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
clear-data.ts fix: security hardening, Prisma singleton, tsconfig cleanup 2026-04-20 19:52:47 +02:00
COMMIT_SUMMARY.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
comprehensive-debug.js feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
debug-login-page.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
debug-signup.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
deploy.sh chore: Portainer-compatible docker-compose, improved .dockerignore 2026-02-22 23:52:49 +01:00
docker-compose.dev.yml fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
docker-compose.local.yml fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
docker-compose.yml feat: fix Docker deployment, OAuth redirects, event editing, and UI improvements 2026-02-24 23:18:13 +01:00
Dockerfile feat: fix Docker deployment, OAuth redirects, event editing, and UI improvements 2026-02-24 23:18:13 +01:00
fill-data-v2.ts fix: security hardening, Prisma singleton, tsconfig cleanup 2026-04-20 19:52:47 +02:00
fill-data.ts fix: security hardening, Prisma singleton, tsconfig cleanup 2026-04-20 19:52:47 +02:00
fill-ext-events.js fix: security hardening, Prisma singleton, tsconfig cleanup 2026-04-20 19:52:47 +02:00
fill-ext-events.ts fix: security hardening, Prisma singleton, tsconfig cleanup 2026-04-20 19:52:47 +02:00
final_phase3_analysis.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
mock-prisma.ts feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
My-Weekly-ToDo-List.code-workspace icons for priority and colors for someday lists 2026-05-01 14:49:54 +02:00
next-env.d.ts feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
next.config.js feat: Content-Security-Policy im Report-Only-Modus einfuehren 2026-09-12 17:43:48 +02:00
opencode.json feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
package-lock.json fix: next/next-auth/nodemailer/postcss auf gepatchte Versionen heben 2026-09-12 14:41:52 +02:00
package.json feat: Content-Security-Policy im Report-Only-Modus einfuehren 2026-09-12 17:43:48 +02:00
phase3_analysis.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
playwright.config.ts feat: 63 Unit-Tests fuer die ausgelagerten Funktionen 2026-09-07 09:19:41 +02:00
postcss.config.js feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
query.js fix: CSS class slide animation, mobile dot, flex task indicators 2026-03-06 12:09:13 +01:00
README.md chore: change development port to 3000 2026-03-07 17:39:26 +01:00
SETUP.md chore: change development port to 3000 2026-03-07 17:39:26 +01:00
sonar-project.properties chore: add SonarQube quality checks 2026-09-03 16:24:41 +02:00
tailwind.config.js Fix header layout, add day/night switch, refine night mode styling 2026-02-12 20:14:12 +01:00
TEST_PLAN_SUMMARY.md feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
TEST_PLAN.md feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
test-account-setup.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
test-api.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
test-email.js Refactor Someday area to grid layout with dynamic slots, fixed scrolling, and border refinements 2026-03-01 11:58:48 +01:00
test-route.js feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
test-syno.js fix: CSS class slide animation, mobile dot, flex task indicators 2026-03-06 12:09:13 +01:00
tsconfig.json fix: Login-Rate-Limit, Sicherheitsheader und Deploy-Skript-PATH nachziehen 2026-09-12 10:30:12 +02:00
tsconfig.tsbuildinfo new handels on the allday and anyday areas 2026-05-13 19:06:39 +02:00

My Weekly To Do List

A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view.

Features

  • Weekly view of tasks and calendar events
  • Drag and drop functionality between days
  • Calendar integration with Google and Apple Calendar
  • Responsive design for all devices
  • Accessible user interface (WCAG 2.1 AA compliant)

Deployment with Docker

This application can be deployed using Docker and Docker Compose.

Prerequisites

  • Docker Engine
  • Docker Compose

Quick Start

  1. Clone the repository and navigate to the project directory
  2. Build and start the containers:
    docker-compose up --build
    
  3. Access the application at http://localhost:3000

Environment Variables

The application requires the following environment variables:

  • DATABASE_URL: PostgreSQL connection string
  • NEXTAUTH_SECRET: Secret for NextAuth.js
  • NEXT_PUBLIC_BASE_URL: Public URL of the application
  • MICROSOFT_CLIENT_ID: Azure AD Application (client) ID for Microsoft Login
  • MICROSOFT_CLIENT_SECRET: Azure AD Application secret for Microsoft Login

Database Configuration

The application uses PostgreSQL for data storage. The Docker Compose setup includes a PostgreSQL service, but you can also connect to an external database by setting the DATABASE_URL accordingly.

Building for Production

To build the production version:

docker build -t my-weekly-todo-list .

Development

For development, you can run:

npm run dev

License

This project is licensed under the MIT License.