Image

LPCS - Carsharing System

Avatar
Entwickelt von Thomas Ploder (Software) und Noah Laireiter (Hardware)
2021 - 2022

Dieses Projekt wurde im Rahmen der Diplomarbeit an der HTL Salzburg entwickelt. Seit Sommer 2022 ist die Software bei unserem Auftraggeber Frauraum Gneis mobil im Dauerbetrieb.

Einblick in die schriftliche Diplomarbeit kann man an der Bibliothek der HTL Salzburg Itzling oder per Email an office@tploder.com anfordern. Der Schwerpunkt meiner schriftlichen Arbeit geht auf die Bereiche Datenbankdesign, Push-Notifications, XSS und SQL-Injection ein.

Warum wurde LPCS entwickelt?

Das Auto spielt seit vielen Jahren eine wichtige Rolle in der Mobilität der Gesellschaft. Das steigende Aufkommen bringt zunehmend umwelt- und verkehrstechnische Probleme mit sich. Ein innovatives Mobilitätskonzept wie das Carsharing kann dabei helfen, diesen Problematiken entgegenzuwirken.

Wie funktioniert LPCS?

Ein KFZ-Tracking-Modul, das in jedem Auto platziert wird, sendet regelmäßig fahrtrelevante Daten wie Standort oder gefahrene Kilometer an das System. Die entsprechende serverseitige Software bzw. Website (Benutzeroberfläche zum Buchen der Fahrzeuge, Visualisierung der Daten, Fahrtkostenberechnung, …) sorgt für einen reibungslosen Buchungsablauf und vereinfacht die damit verbundene Verwaltung. Interaktionen durch den Nutzer erfolgen über eine Website oder eine App am Smartphone.

Datenbank

Beim Entwurf des Datenbankdesigns war es mir wichtig, Daten konsistent und redundanzfrei zu speichern, um Datenintegrität zu gewährleisten. Deshalb verwende ich für meine MySQL-Datenbanken die Normalformen. Dies bedeutet, dass ich Daten in seperate Tabellen aufteile, um Redundanzen zu vermeiden und Daten sinnvoll miteinander zu verknüpfen.
Primary Keys und Foreign Keys speielen dabei eine entscheidende Rolle. Der Primary Key identifiziert eindeutig einen Datensatz in einer Tabelle und sorgt so für die Integrität der Daten. Foreign keys wiederum verknüpfen Datensätze in verschiedenen Tabellen miteinander und sorgen so für eine effiziente Datenabfrage- und verwaltung.
Zusammen sorgen die Verwendung von Normalformen und Primary Keys sowie Foreign Keys für eine solide und zuverlässige Datenbankstruktur, die sich auch bei zunehmender Datenmenge bewährt.

Image
Entity-Relationship-Modell von LPCS
Image
Veranschaulichung von Scrum - [Quelle]
Scrum

Als Team haben wir uns für die Verwendung von Scrum entschieden, da es uns eine klare Struktur bietet, welche es uns ermöglicht, regelmäßig Feedback zu sammeln und unsere Arbeit anzupassen. Durch Scrum können wir unsere Arbeit in kleinere, schaffbare Ziele zu unterteilen, um den Fortschritt besser zu verfolgen und Probleme frühzeitig erkennen zu können und zu beheben.
Insgesamt war de Verwendung von Scrum für uns eine großartige Entscheidung und hat uns geholfen, unsere Diplomarbeit erfolgreich und effizient zu entwickeln und zu programmieren.

Datasheet

Folgend eine Auflistung über einige Fakten zum Projekt:

  • Checkmark icon
    Programmiersprachen: Swift, PHP, Java, JavaScript, C
  • Checkmark icon
    Tools: Xcode, Android Studio, PhpStorm, DataGrip, iTerm, FileZilla, Postman, MAMP, Git
  • Checkmark icon
    Codezeilen Web (ca. 15.500): 10.000 (PHP), 5.500 (JavaScript)
  • Checkmark icon
    Entwickelt durch: Thomas Ploder (Software) und Noah Laireiter (Hardware)
  • Checkmark icon
    Hosting (Entwicklungsphase): Debian/Linux, nginx, VestaCP
  • Checkmark icon
    Verfügbarkeit: Web
arrow-up icon