Skip to content

Komponenten

Joshua Phu Kuhrau edited this page Jul 23, 2026 · 2 revisions

Komponenten

Backend API (/backend)

backend/
├── app/
│   ├── api/
│   │   ├── dependencies.py    # get_current_user, get_current_active_user
│   │   └── v1/
│   │       ├── auth.py            # Login, Register, Refresh, Service-API-Key, Session
│   │       ├── documents.py       # Dokument-Upload (multipart) + CRUD
│   │       ├── files.py           # File-Download (gemountet unter /files, nicht /api/v1)
│   │       ├── tasks.py           # Task Management
│   │       ├── calendar.py        # Kalender-Events, Integrationen, Google OAuth
│   │       ├── notifications.py   # FCM-Token-Verwaltung
│   │       └── paperless.py       # Paperless-ngx Sync & Write-back
│   ├── core/
│   │   ├── config.py          # Settings & Umgebungsvariablen (pydantic-settings)
│   │   └── security.py        # JWT (Access + Refresh), Argon2 Passwort-Hashing
│   ├── db/
│   │   ├── session.py         # DB-Connection
│   │   └── init_db.py         # Initialisierung
│   ├── models/                # SQLAlchemy Models: User, Document, File, Task,
│   │                          #   Reminder, CalendarEvent, Integration, Session
│   ├── schemas/                # Pydantic Schemas (Request/Response)
│   ├── services/
│   │   ├── claude_service.py            # Claude API: Dokumentenanalyse (Text + Vision)
│   │   ├── ocr_service.py               # Tesseract OCR für PDFs
│   │   ├── file_storage.py              # Speicherung von Uploads
│   │   ├── google_calendar_service.py   # Google Calendar API
│   │   ├── caldav_service.py            # CalDAV-Anbindung
│   │   ├── calendar_sync_service.py     # Bidirektionaler Sync-Orchestrator
│   │   ├── reminder_service.py          # Reminder-Scheduling & Eskalation
│   │   ├── push_notification_service.py # Firebase Cloud Messaging
│   │   ├── paperless_service.py         # Paperless-ngx Client
│   │   └── task_event_mapping_service.py# Task ↔ CalendarEvent Mapping
│   ├── tasks/                  # Celery Tasks (dispatch_reminders, paperless_sync, ...)
│   ├── celery.py               # Celery App + Beat-Schedule
│   └── main.py                 # App-Entrypoint (inkl. /health, /health/ui)
└── alembic/                    # Migrationen

Flutter App (/frontend)

frontend/
├── lib/
│   ├── pages/          # Login, Dashboard, Tasks, Documents (+ Detail), Calendar,
│   │                   #   Integrations, Settings, Home, TaskDetail
│   ├── providers/      # AuthProvider, TaskProvider, DocumentProvider, ThemeProvider
│   ├── services/       # ApiService, AuthService, CalendarService, DocumentService,
│   │                   #   TaskService, FileUploadService (Web/Mobile/Stub)
│   ├── widgets/         # z. B. IntegrationSetupDialog, UserAvatarMenu
│   ├── models/          # Dart-Datenmodelle: User, Task, Document, CalendarEvent, Integration
│   ├── config/          # Konfiguration (API-URL etc.)
│   ├── utils/
│   └── main.dart

Wichtige Endpunkte

Vollständige Liste siehe API Reference. Auszug:

Methode Endpoint Beschreibung
POST /api/v1/auth/login Login
POST /api/v1/auth/refresh Silent Token Refresh
POST /api/v1/documents/ Dokument hochladen (multipart)
GET /api/v1/tasks/ Alle Tasks
GET /api/v1/calendar/events/ Kalender-Events
GET /files/{file_path} Datei abrufen
GET /health Health Check

Datenmodell | → Core Features

Clone this wiki locally