Bookit - Bücherverleihen 2/2 2025

Book-it: Die digitale Plattform für privates Bücherverleihen

Ausleihen statt neu kaufen – und dabei Freund:innen eine Freude machen!

Book-it Logo&WSF Logo
Book-it Login
Book-it Home

Kontext & Projektbeschreibung

Jede:r, der gerne und viel liest, kennt das Problem: Die Bücherregale platzen aus allen Nähten, und mit jedem neuen Wälzer wird der Geldbeutel ein Stück leichter. Doch genau hier setzt unsere Lösung an.

Im Rahmen der Wildauer Softwarefabrik (WSF) entwickelten wir Book-it – eine Webanwendung, die Leseratten das Leben erleichtert. Mit Book-it können Nutzer:innen ihr persönliches Bücherinventar digital verwalten und Bücher ganz einfach an Freund:innen und Bekannte verleihen.

Unser Motto: Ausleihen statt neu kaufen – und dabei Freund:innen eine Freude machen!


Herausforderungen

Mit sechs Personen war Book-it das größte Gruppenprojekt unseres bisherigen Studiums. Entsprechend aufwendig gestalteten sich die Koordination, die Abstimmung des Projektumfangs sowie die sinnvolle Aufteilung der Aufgabenpakete – besonders unter dem Zeitdruck, der uns zu einem schnellen und effizienten Handeln zwang.

Bereits zu Beginn stellten sich grundlegende Fragen:

  • Wie benutzt man Book-it (APP, Internetseite, PWA)?
  • Was für Technologien benutzen wir für die Entwicklung?
  • Wer übernimmt welche Rolle und Aufgabenpakete?
  • Wo fängt man eigentlich als Erstes an?

Während der Umsetzung traten immer wieder neue Hürden auf: technische Probleme, Wissenslücken, Bugs oder nicht erreichte Sprintziele. Doch durch offene Kommunikation und echten Teamgeist meisterten wir jede Schwierigkeit.

Herausforderungen

Herangehensweise

Herangehensweise

Um sicherzustellen, dass Book-it unseren Anforderungen gerecht wird, teilten wir im Team klare Rollen zu: Product Owner, Scrum Master, DevOps-Entwickler, Frontend-Entwickler und Backend-Entwickler.

Wir arbeiteten nach dem agilen Vorgehensmodell Scrum und gliederten unser Projekt in Meilensteine (zweiwöchige Sprints). Zu Beginn jedes Sprints wurden individuelle Aufgaben vergeben. Das zuständige Teammitglied präsentierte anschließend sein Konzept, welches wir gemeinsam diskutierten.

Für Versionierung und Synchronisation nutzten wir GitLab, was uns eine strukturierte und parallele Arbeitsweise ermöglichte.


Die Lösung: PWA

Wir einigten uns auf eine Progressive Web APP (PWA). Dabei lässt sich unsere APP als Internetseite für Computer und als APP auf Smartphones problemlos zugreifen.

Frontend

Entwickelt mit Vue 3 (Composition API) und TypeScript für eine moderne Architektur. Styling mit Tailwind CSS für ein konsistentes Design. Besonderes Feature: Barcode-Scanner für einfaches Hinzufügen von Büchern.

Backend

Umgesetzt mit PocketBase – leichtgewichtig und flexibel für Authentifizierung, Datenhaltung und Echtzeit-Updates. Ein Python-Service ermöglicht zudem eine semantische Suche und ein Push Benachrichtigungsservice lässt dich keine Neuigkeit mehr verpassen.

Lösung

Details & Fazit


KernfunktionenBereich öffnenBereich schließen

  • Sozialer Buchfeed: Zentraler Feed mit allen Büchern von Personen, denen man folgt.
  • Barcode-Scanner: Schnelles Erfassen der eigenen Bücher für das digitale Inventar.
  • Wunschliste & Smart-Benachrichtigungen: Automatische Info, wenn Freunde gewünschte Bücher anbieten.
  • Semantische Suche: KI-gestützte Suche für relevante Ergebnisse basierend auf Titel, Beschreibung und Genres.
  • Chat-Funktion: Direkte Absprache zu Ausleihen innerhalb der App.
  • Öffentliche Profile: Entdeckung neuer Nutzer in der Umgebung mit Distanzfilter.

Datenmodell & ArchitekturBereich öffnenBereich schließen

Das Projekt nutzt eine PocketBase-Datenbank, die Medienverwaltung und soziale Interaktionen vereint.

  • Users: Basiert auf PocketBase Auth, erweitert um Profilfelder (Avatar, Bio, Privatsphäre).
  • Books: Speichert Metadaten (ISBN-13, Titel, Autor, Cover).
  • Inventories: Verknüpft Nutzer mit Büchern (Status: leihbar, verliehen, privat).
  • Borrowings: Modelliert den Leihvorgang inkl. Statusverwaltung.
  • Social: 'Follows' für Vernetzung und 'Notifications' für Ereignisse.

Verwendeter TechstackBereich öffnenBereich schließen

Vue 3 TypeScript PocketBase Tailwind CSS Heroicons Vite Python (Semantische Suche) GitLab CI/CD Docker Ansible Node.js Nginx




Fazit


Die Zusammenarbeit in unserem sechsköpfigen Team stellte zunächst eine Herausforderung dar. Doch durch klare Absprachen und ein engagiertes Miteinander gelang es uns, das Projekt ‚Book-it‘ erfolgreich umzusetzen.

Mittlerweile fühlen sich alle Teammitglieder mit der Arbeitsweise und den verwendeten Technologien sehr wohl. Mit jedem Sprint machten wir Fortschritte – nicht nur auf technischer Ebene, sondern auch im Hinblick auf unsere Teamdynamik und Kommunikation.