jonnybravo a94afc0b61
Some checks failed
Deploy to ras-dan-01 / deploy (push) Failing after -20s
try
2025-08-26 15:56:09 +02:00
try
2025-08-26 14:47:35 +02:00
try
2025-08-26 14:53:43 +02:00
try
2025-08-26 15:21:43 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
try
2025-08-26 15:56:09 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
try
2025-08-26 15:21:43 +02:00
try
2025-08-26 15:21:43 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00
2025-08-26 14:35:48 +02:00

Movie-DB

Eine webbasierte Anwendung zur Verwaltung einer persönlichen Filmsammlung.

Funktionsumfang (Features)

  • Benutzer-System: Vollständiges Registrierungs- und Login-System, sodass jeder Benutzer seine eigene, private Filmsammlung verwalten kann.
  • Persönliche Filmlisten: Jeder Benutzer sieht und durchsucht nur die Filme, die er selbst hinzugefügt hat.
  • Filme hinzufügen: Filme können manuell oder durch ein automatisiertes Scraping von IMDb hinzugefügt werden.
  • Umfassende Suche: Eine globale Suchleiste ermöglicht die gleichzeitige Suche nach Titel, Genre und Regisseur.
  • Paginierung: Die Filmliste ist in Seiten aufgeteilt, um auch bei großen Sammlungen übersichtlich zu bleiben.
  • Sichere Verbindung: Die Anwendung wird über HTTPS mit einem selbst-signierten SSL-Zertifikat bereitgestellt.
  • Containerisierung: Die gesamte Anwendung ist mit Docker und Docker Compose containerisiert, was die Bereitstellung vereinfacht.
  • Automatisierte Bereitstellung: Ein Ansible-Playbook automatisiert das Deployment der Anwendung.

Voraussetzungen

Stellen Sie sicher, dass die folgende Software auf Ihrem System installiert ist:

  • Python 3
  • pip
  • Docker
  • Docker Compose
  • Ansible

Inbetriebnahme

Es gibt drei Möglichkeiten, die Anwendung zu starten.

1. Direkter Start mit Python

Dies ist die klassische Methode für die lokale Entwicklung.

  1. Abhängigkeiten installieren:
    pip install -r requirements.txt
    
  2. Anwendung starten:
    python3 main.py
    
  3. Zugriff: Öffnen Sie Ihren Browser und gehen Sie zu https://localhost:5082. Sie müssen eine Browser-Warnung aufgrund des selbst-signierten Zertifikats akzeptieren.

2. Start mit Docker

Diese Methode kapselt die Anwendung in einem Container.

  1. Docker-Image erstellen:
    docker build -t movie-db-app .
    
  2. Docker-Container starten:
    docker run -p 5082:5082 movie-db-app
    
  3. Zugriff: Öffnen Sie Ihren Browser und gehen Sie zu https://localhost:5082.

3. Start mit Ansible und Docker Compose (Empfohlen)

Dies ist die automatisierte Methode, die einen sauberen Deployment-Prozess sicherstellt.

  1. Ansible Docker-Sammlung installieren (falls noch nicht geschehen):

    ansible-galaxy collection install community.docker
    
  2. Ansible-Playbook ausführen:

    ansible-playbook start.yml
    

    (Möglicherweise müssen Sie Ihr sudo-Passwort eingeben.)

  3. Zugriff: Öffnen Sie Ihren Browser und gehen Sie zu https://localhost:5082.

Projektstruktur

Die wichtigsten Dateien und Ordner im Überblick:

.
├── Dockerfile
├── docker-compose.yml
├── main.py
├── moviedb_func.py
├── movie_db.db
├── README.md
├── requirements.txt
├── start.yml
├── cert.pem
├── key.pem
└── templates/
    ├── base.html
    ├── index.html
    ├── login.html
    └── register.html
  • main.py: Die Hauptdatei der Flask-Anwendung. Sie enthält die Routen und die Anwendungslogik.
  • moviedb_func.py: Enthält die gesamte Geschäftslogik, Datenbankfunktionen und die User-Klasse.
  • templates/: Der Ordner für alle HTML-Templates.
  • movie_db.db: Die SQLite-Datenbankdatei.
  • Dockerfile: Die Bauanleitung für das Docker-Image der Anwendung.
  • docker-compose.yml: Definiert die Anwendung als Docker-Dienst für eine einfache Verwaltung.
  • start.yml: Das Ansible-Playbook für die automatisierte Bereitstellung.
  • requirements.txt: Liste der Python-Abhängigkeiten.
  • cert.pem, key.pem: Das selbst-signierte SSL-Zertifikat und der private Schlüssel.

Benutzung

  1. Registrieren: Erstellen Sie auf der Registrierungsseite einen neuen Benutzeraccount.
  2. Einloggen: Melden Sie sich mit Ihren neuen Zugangsdaten an.
  3. Filme hinzufügen: Nutzen Sie den "Film hinzufügen"-Button, um Filme entweder durch die IMDb-Suche oder manuell zu Ihrer Sammlung hinzuzufügen.
  4. Suchen: Verwenden Sie die Suchleiste, um Ihre Sammlung nach Titeln, Genres oder Regisseuren zu durchsuchen.

Mögliche zukünftige Erweiterungen

  • Bearbeiten & Löschen: Funktionen zum Bearbeiten und Löschen von bereits hinzugefügten Filmen.
  • Detailseite: Eine eigene Seite für jeden Film mit mehr Details (Schauspieler, Handlung, etc.).
  • Sortieroptionen: Die Möglichkeit, die Filmliste nach verschiedenen Kriterien zu sortieren.
Description
No description provided
Readme 104 KiB
Languages
Python 74.1%
HTML 24.8%
Dockerfile 1.1%