Files
ripster/docs/architecture/index.md
2026-03-10 13:12:57 +00:00

1.5 KiB

Architektur

Ripster ist eine Client-Server-Anwendung mit REST + WebSocket.


Systemüberblick

graph TB
    subgraph Browser["Browser (React)"]
        Dashboard[Dashboard]
        Settings[Einstellungen]
        History[Historie]
    end

    subgraph Backend["Node.js Backend"]
        API[REST API\nExpress]
        WS[WebSocket\n/ws]
        Pipeline[pipelineService]
        Cron[cronService]
        DB[(SQLite)]
    end

    subgraph Tools["Externe Tools"]
        MakeMKV[makemkvcon]
        HandBrake[HandBrakeCLI]
        MediaInfo[mediainfo]
    end

    Browser <-->|HTTP| API
    Browser <-->|WebSocket| WS
    Pipeline --> MakeMKV
    Pipeline --> HandBrake
    Pipeline --> MediaInfo
    API --> DB
    Pipeline --> DB
    Cron --> DB

Schichten

Backend

  • src/index.js (Bootstrapping, Routes, WS, Services)
  • src/routes/* (Pipeline, Settings, History, Crons)
  • src/services/* (Business-Logik)
  • src/db/database.js (Init/Migration)
  • src/utils/* (Parser, Dateifunktionen, Validierung)

Frontend

  • App.jsx + pages/* (Dashboard, Settings, History)
  • components/* (Status-/Review-/Dialog-Komponenten)
  • api/client.js (REST-Client)
  • hooks/useWebSocket.js (WS-Reconnect)

Weiterführend