No description
Find a file
Tronax 85f5c6dd4e
feat(android): add "change cover" action on the detail screen
Mirrors the desktop DetailDialog's "Cover ändern…" button: opens the
online search pre-filled with the item's title and auto-searches, but
choosing a hit only replaces the item's cover URL instead of staging a
full edit draft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 21:59:22 +02:00
android feat(android): add "change cover" action on the detail screen 2026-07-14 21:59:22 +02:00
resources feat: initial commit for media tracking software 2026-06-15 02:02:25 +02:00
server feat: add Android app and end-to-end encrypted library sync 2026-06-21 00:35:54 +02:00
src feat: add Android app and end-to-end encrypted library sync 2026-06-21 00:35:54 +02:00
.gitignore build: add Linux and Windows build scripts with NSIS installer 2026-06-15 02:37:19 +02:00
build-linux.sh build: add Linux and Windows build scripts with NSIS installer 2026-06-15 02:37:19 +02:00
build-windows.sh feat: add Android app and end-to-end encrypted library sync 2026-06-21 00:35:54 +02:00
CMakeLists.txt feat: add Android app and end-to-end encrypted library sync 2026-06-21 00:35:54 +02:00
installer.nsi build: fix Windows packaging to produce the NSIS installer 2026-06-15 03:04:49 +02:00
README.md feat: initial commit for media tracking software 2026-06-15 02:02:25 +02:00

Ultimate Media Tracker

Ein hochgradig anpassbarer Tracker für Filme, Serien, Mangas, Bücher und Spiele geschrieben in C++17 mit Qt 6. Behalte den Überblick darüber, was du gesehen/gelesen/gespielt hast, und zwar auf jeder Ebene: ganzes Werk, Staffel/Band oder einzelne Folge/Kapitel.

Features

  • 5 Medientypen: Filme, Serien, Mangas, Bücher, Spiele
  • Granularer Fortschritt: komplett · pro Staffel/Band · pro Folge/Kapitel (tri-state Häkchen-Baum, automatische „Abgeschlossen“-Erkennung)
  • Automatische Titelbilder über Online-Provider, jederzeit per integrierter Suche austauschbar oder durch eigene Datei ersetzbar
  • Mehrsprachige Titel pro Eintrag (de/en/ja/…), inkl. Originaltitel
  • Online-Metadaten-Provider
    • Filme & Serien: TMDB (kostenloser API-Key nötig)
    • Bücher: OpenLibrary (kein Key)
    • Mangas: AniList (kein Key)
  • Umfangreiche Filter: Genre, Status, Bewertung, Jahr, Tags, Favoriten, Franchise (automatisch aus den Titeln erkannt, manuell überschreibbar), Volltextsuche, plus Sortierung (Datum/Titel/Bewertung/Jahr/Fortschritt)
  • Geteilter TMDB-Zugang optional über einen OIDC-Proxy (siehe server/): die Gruppe teilt sich einen API-Key, Login via Authentik
  • Customizability: eigene Tags, eigene Felder (Key/Value), eigene Strukturen (beliebige Abschnitte & Einheiten), anpassbare Kartengröße
  • Modernes GUI mit Dark- & Light-Mode und frei wählbarer Akzentfarbe
  • Bewertung als halbe-Sterne-Widget, Favoriten, Notizen, Beschreibung
  • Lokale SQLite-Datenbank, Cover-Cache auf Platte

Bauen

Voraussetzungen: Qt 6 (Widgets, Network, Sql, Svg, Concurrent), CMake ≥ 3.21, ein C++17-Compiler, SQLite-Treiber (Teil von Qt).

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
./build/uwt

Identisch unter Linux und Windows (sowie macOS). Unter Windows wird das Programm als GUI-App ohne Konsolenfenster gebaut und bekommt das App-Icon eingebettet; unter Linux installiert cmake --install build zusätzlich einen .desktop-Eintrag samt Icon.

Konfiguration

Öffne ⚙ Einstellungen:

  • Design: Dunkel/Hell
  • Akzentfarbe: frei wählbar
  • Bevorzugte Sprache: bestimmt angezeigte Titel & Provider-Sprache
  • Filme/Serien über: entweder eigener TMDB API-Key (kostenlos auf themoviedb.org) oder ein Proxy-Server (URL + Token von dessen Login-Seite kein eigener Key nötig, siehe server/)
  • Cover automatisch laden, Kartengröße

TMDB-Proxy (optional)

Im Verzeichnis server/ liegt ein kleiner Go-Server, der die TMDB-API hinter OIDC/Authentik kapselt. So können Freunde die App nutzen, ohne sich je einen eigenen TMDB-Key zu erstellen der Server hält einen geteilten Key und gibt nach dem Login ein persönliches Token aus. Details: server/README.md.

Daten

  • Datenbank: …/AppData/UMT/Ultimate Media Tracker/library.db
  • Cover-Bibliothek: …/AppData/…/covers/
  • (Pfade gemäß QStandardPaths::AppDataLocation)

Architektur

src/
  core/        Enums, MediaItem (Werk→Abschnitt→Einheit), Database (SQLite), Settings
  providers/   MetadataProvider-Interface + TMDB/OpenLibrary/AniList, ImageCache
  ui/          ThemeManager, MainWindow, MediaCard, FilterPanel, FlowLayout,
               StarRating, DetailDialog, EditDialog, OnlineSearchDialog, SettingsDialog

Das Datenmodell ist generisch: Jedes Werk besteht aus Abschnitten (Staffel / Band / Teil), die Einheiten (Folge / Kapitel) enthalten. Filme/Bücher ohne Struktur nutzen einfach den Status Abgeschlossen.