Tipps für die Anfänge eines größeren Python-Projekts gesucht

#1
Guten Tag zusammen, ich hoffe zunächst mal, dass ich im Projekte-Forum richtig bin ;)
ganz kurz zu meiner Person:
25 Jahre alt, Hobby-ITler, habe in der Schule begonnen mit Programmierung (PASCAL, HTML, CSS, Javascript, VBA for Excel). Ich wäre damals schon gerne am Ball geblieben, ich mag dieses nerdige auf der Tastatur rumhacken und der PC macht auf einmal irgendwelche komischen Sachen xD
Bin über diverse Homeserver-Ideen wieder zum programmieren gekommen. Zuhause nutze ich hauptsächlich Ubuntu, habe aber als DualBoot auch Windows 10 installiert. Als NAS läuft ein auf Energiesparen getrimmter Desktop-Tower, integriert ein Nextcloud-Host. Auf einem Raspberry die Auftragsverwaltung meines Kleinunternehmens (im Handwerk und gerade abgemeldet, der Pi wird demnächst auch wieder formatiert, dann kommt ein LimeSurvey-Host drauf).

Bei meinem Projekt geht es um ein Terminal, das auf den Veranstaltungen unserer Gemeinden-Vereinigung aufgestellt wird. Es ist dafür vorgesehen, die Live-Mitschnitte der Veranstaltungen und der selbst produzierten CD's über USB zu verbreiten. Aktuell läuft auf dem Single-Touch-Terminal Windows XP mit einer Kodak Software für den o.g. Zweck. Da das Programm sehr unkomfortabel ist, Windows XP einige USB-Sticks nicht unterstützt und kein Antivirus-System verwendet wird, möchte ich es austauschen.

Nun zum Projekt: Ich habe mich für Python mit kivy für das Projekt entschieden, einige Tutorials durchgearbeitet und von Mal zu Mal wird die Verwirrung größer. Als IDE nutze ich PyCharm.
Anforderungen an das Projekt:
- Single-Touch-Unterstützung
- Zwei Fenster parallel ähnlich wie Total Commander, einer zeigt den freigegebenen Ordner mit den zur Verfügung stehenden Dateien an, der andere zeigt den Inhalt des USB-Sticks an.
- Touch-optimierte GUI
- ID3-Tag-Filterung ähnlich wie bei iTunes mit dem Unterschied, dass man bei iTunes immer nur einen Filter setzen kann, während hier nach mehreren parallel gefiltert werden kann (quasi UND-verknüpft, bei iTunes kann ich mich aber auch irren)
- Das ganze Projekt soll auf Linux laufen, die USB-Sticks werden nur gelesen, gelöscht oder beschrieben, es können aber keine Inhalte Richtung Terminal geschickt oder ausgeführt werden
- möglichst selbsterklärend, bei den Veranstaltungen steht das Terminal meist für sich da, keiner stellt sich den halben Tag daneben, um Fragen zu klären.

Mein Problem ist halt, dass ich nicht genau weiß, wie ich mit dem Projekt wirklich beginnen soll. Macht die gewählte Programmiersprache eurer Meinung nach Sinn für so ein Projekt? Ich kenn es aus der Schule noch von HTML oder Pascal, da wurde ein Grundgerüst aufgestellt und dann um einzelne Funktionen (bei HTML sogar in einzelnen Dateien) erweitert. Wie gehe ich das ganze bei Python an? Mit welchen Funktionen sollte ich eurer Meinung nach starten? Oder erst die GUI in kivy erstellen und dann die Buttons und Fenster mit Leben füllen?

Gibt es da Lesetipps zum Erstellen größerer Projekte mit Python?

Das Ganze wird Open-Source, das Terminal ist ja auch nicht zum Geld verdienen. Der Code wird auf github online stehen, sofern er existiert, wenn das Projekt abgeschlossen ist, wird es auch als Komplettpaket der Allgemeinheit zur Verfügung gestellt.

Ich hoffe, ich konnte das Projekt damit verständlich erläutern und wünsche einen schönen Abend.

Vielen Dank, Alfred
 
Oben