Σχεδιασμός και υλοποίηση πλατφόρμας car-sharing : μια εφαρμογή Android με Java και Spring Boot Backend
Design and implementation of a car-sharing platform : an Android application with Java and Spring Boot Backend

View/ Open
Keywords
Car-sharing ; REST API ; Mobile frontend ; Ride matching ; Smart cities ; Geolocation ; Java ; Βιώσιμη αστική κινητικότηταAbstract
This thesis deals with the design and implementation of an integrated car-sharing platform,
aiming to promote sustainable urban mobility through the eeicient use of transport
resources. The system was developed with a layered architecture, consisting of a Spring
Boot-based backend and an Android application as a frontend, achieving the direct
connection of drivers and passengers through geolocation and dynamic matching
mechanisms in real time. The backend of the system utilizes PostgreSQL for persistent
data storage and Redis for spatial indexing and caching, allowing for fast geographic
searches and eeicient user matching. Communication between the components is
implemented via RESTful API for modern operations and WebSocket (STOMP protocol) for
real-time updates, such as location transmission and route status changes. Special
emphasis was placed on security through the use of JWT tokens for authentication,
encryption to protect sensitive data, and password hashing with. The Android application
oeers distinct functionalities for the two main user roles, passengers and drivers, with the
ability to seamlessly switch between them. Passengers can submit ride requests, track the
driver’s location in real time, and manage their active trips, while drivers receive ride oeers,
accept them, and continuously broadcast their location. The integration of the Google
Maps API allows for map display, route determination, and navigation, while the Google
Places API supports destination search with autocomplete. A central element of the
platform is the dynamic matching algorithm, which takes into account geographical and
temporal criteria to optimize the connection of passengers with drivers, aiming to reduce
waiting times and improve the overall user experience. The state machine implementation
ensures the correct flow of the life cycle of each trip, from request to completion, with clear
and validated transitions between states. The platform was developed with scalability and
maintainability in mind, using Docker for containerization and
[Render.com](http://Render.com) for cloud deployment. The evaluation of the system
highlights the successful completion of the work's objectives, while identifying areas for
future improvement, such as the integration of dynamic pricing, advanced route
optimization, and user rating systems. This work demonstrates how technology can
contribute to promoting sustainable mobility models, reducing traeic congestion,
emissions, and the need for individual vehicle ownership. At the same time, it places the
solution in the broader context of smart cities and the collaborative economy, making it a
comprehensive example of modern software development to address real social and
environmental challenges.

