Skip to content

moritzgladigau/web-library

Repository files navigation

status maintenance

⚠️ Hinweis:

Dieses Projekt ist ein privates Hobby-Projekt. Es funktioniert, aber der Code ist nicht optimiert, es gibt keine vollständige Installationsanleitung und derzeit keine aktive Weiterentwicklung.

WebLib - Private Home Library

WebLib ist eine private Website zur Verwaltung einer persönlichen Bibliothek. Die Anwendung bietet eine Vielzahl von Funktionen zur Organisation, Anzeige und Pflege von Büchern. Sie ermöglicht mehrere Benutzerzugänge und bietet jedem Benutzer ein individuelles Dashboard.

Funktionen

Hauptfunktionen

  • Bücherübersicht (Index-Seite):

    • Zeigt eine Tabelle aller Bücher in der Bibliothek.
    • Integrierte Suchfunktion zur Filterung nach Titel, Autor oder ISBN.
    • Jede Zeile verlinkt auf eine Detailseite des jeweiligen Buches.
  • Buchdetailseite:

    • Zeigt detaillierte Informationen zu einem ausgewählten Buch.
    • Optionen zum Bearbeiten oder Löschen des Buches für eingeloggte Benutzer.
    • Benutzer können ein Buch als "gelesen" markieren und Kommentare hinzufügen.
  • Benutzerverwaltung:

    • Registrierungs- und Login-Funktion für verschiedene Benutzer.
    • Nur eingeloggte Benutzer können neue Bücher hinzufügen und ihr persönliches Dashboard nutzen.
  • Dashboard:

    • Zeigt eine Übersicht für jeden Benutzer mit:
      • Der Gesamtzahl der Bücher,
      • Der Anzahl der gelesenen Bücher,
      • Einer Liste gelesener Bücher und hinzugefügter Bücher des Nutzers.
    • Links führen zur jeweiligen Detailseite des Buches.

API-Funktionen (Geplant)

  • Eine API mit CRUD-Funktionalität (GET, POST, PUT, DELETE) für den sicheren Zugriff und die Manipulation der Bibliotheksdaten.
  • Authentifizierung durch API-Key, um unerlaubte Datenzugriffe zu verhindern.

Installation

  1. Voraussetzungen:

    • Apache Webserver und MariaDB (Datenbank).
    • PHP und JavaScript werden für die Anwendung benötigt.
  2. Installation der WebLib-Anwendung:

    • Projektdateien in das Webserver-Verzeichnis kopieren.
    • SQL-Datenbank initialisieren und Tabellenstruktur wie in database.sql definiert einrichten.
    • Datenbank-Konfiguration in config.php anpassen.
  3. API-Integration (optional):

    • Die API in der Datei api.php konfigurieren.
    • Einrichten von API-Keys für authentifizierte Benutzer.

Projektstruktur

  • index.php – Startseite mit der Bücherübersicht.
  • book_detail.php – Detailseite für jedes Buch mit Optionen zur Bearbeitung.
  • dashboard.php – Benutzer-Dashboard mit individuellen Statistiken.
  • login.php und register.php – Seiten für die Benutzeranmeldung und -registrierung.
  • api.php – Geplante API zur dynamischen Dateninteraktion.
  • assets/ – Statische Dateien (CSS, JavaScript).
  • config.php – Konfigurationsdatei für die Datenbankverbindung.

Technologien

  • Frontend: HTML, CSS, JavaScript
  • Backend: PHP
  • Datenbank: MariaDB

Entwickler

Entwickelt von Moritz Gladigau

Zukünftige Erweiterungen

  • Verbesserte API zur dynamischen Datenfilterung und Manipulation.
  • Design-Verbesserungen im Frontend.
  • Optimierungen der Code-Struktur und Lesbarkeit.

To-Do-Liste

  • Buch als Favorit markieren: Implementierung der Favoriten-Funktionalität, um ein Buch als Favorit zu speichern.
  • API entwickeln: API mit CRUD-Funktionalität hinzufügen.
  • Dashboard-Optimierungen: Dashboard um eine Zusammenfassung der Lesestatistik erweitern.
  • Code-Struktur verbessern: Einheitliche Struktur und Lesbarkeit sicherstellen, um zukünftige Wartbarkeit zu erleichtern.
  • Fehlermeldungen und Logs hinzufügen: Fehlerbehandlung verbessern und Logs hinzufügen, um die Nachvollziehbarkeit zu erhöhen.
  • Frontend-Design verbessern: Responsive Design und visuelle Verbesserungen vornehmen.
  • Automatisierte Tests einfügen: Unit-Tests und Integrationstests für Stabilität und Wartbarkeit.