\section{Einleitung}

Dieses Softwareprojekt setzt sich zum Ziel, einen im Vergleich zu anderen Synchronisationsservern
möglichst schlanken und performanten Synchronisationsserver für \Glspl{podcast} 
bereitzustellen, welcher von sogenannten \Glspl{podcatcher} verwendet werden soll.

Ein \Gls{podcatcher} ist eine Anwendung, mit der \Glspl{podcast} abonniert,
heruntergeladen und angehört werden können.
Durch diesen Synchronisationsserver ermöglichen Betreiber von \Glspl{podcatcher} den Nutzern
eine einfache Möglichkeit zum Synchronisieren von \Glspl{podcast} über verschiedene 
Geräte hinweg.
Im Gegensatz zu anderen Synchronisationsservern für \Glspl{podcast} versucht dieses Produkt
möglichst einfach und unkompliziert in der Handhabung zu sein. Deshalb wird nur eine
grundlegende Synchronisationsfunktion ohne weitere
Anpassungsmöglichkeit bereitgestellt. 
Außerden werden Funktionalitäten die bereits von einem \Gls{podcatcher} ermöglicht werden, wie
zum Beispiel das Anhören und Verwalten von \Glspl{podcast}, nicht bereitgestellt. 
Dies sorgt zusätzlich für ein schlankes Backend.

Es werden hierbei sowohl die \Glspl{podcast} an sich, als auch die aktuellen
Hörfortschritte synchronisiert. 
Das bedeutet, dass alle vorgenommenen Änderungen auf den Server gespiegelt
werden.
Die Änderungen werden danach von jedem mit dem Account verbundenen
\Gls{podcatcher} heruntergeladen.
Dazu werden die \Glspl{podcast} und die Hörfortschritte eines jeden Nutzers in einer
\Gls{db} gespeichert.
Auf die \Gls{db} können die \Gls{podcatcher} mit einer API in Verbindung eines
Nutzeraccounts lesend und schreibend zugreifen.
Um eine Kompatibilität mit bestehenden Podcatchern
sicherzustellen, wird die weitverbreitete \Gls{gpodder} verwendet. 
Zusätzlich soll es Nutzern durch ein Webinterface ermöglicht werden, ihre
synchronisierten \Glspl{podcast} einsehen zu können und ihren Nutzeraccount verwalten zu können.

