CarShare: Developing a carpooling web application using PHP, AngularJS and MongoDB

Graduate Thesis uoadl:1324490 756 Read counter

Unit:
Τομέας Υπολογιστικών Συστημάτων και Εφαρμογών
Library of the School of Science
Deposit date:
2016-07-08
Year:
2016
Author:
Μπερής Θεμιστοκλής
Supervisors info:
Αλέξιος Δελής
Original Title:
CarShare: Αναπτυ?σσοντας μια πλατφο?ρμα συνεπιβατισμου? με PHP, AngularJS και MongoDB
Languages:
Greek
Translated title:
CarShare: Developing a carpooling web application using PHP, AngularJS and MongoDB
Summary:
In this paper, we present the carpooling web application CarShare. CarShare’s
goal is to
divide the travel expenses among all the occupants of a vehicle (driver and
passengers).
First, screenshots are provided, in order to describe the main functionality of
CarShare. The homepage of the application, the login functionality, the entry
of a trajectory, an example of the search of a trajectory, as well as, the
logout functionality, are included in the aforementioned screenshots.
Τhe algorithm of the Longest Common Subsequence (LCSS) is presented. LCSS
algorithm is used, in order to compute the similarity between two trajectories
and the reasons why this particular algorithm is used, are explained, compared
to previous approaches and LCSS is described in detail.
The specific format of the trajectories, in order to be stored to a non
relational (NoSQL) database, is analyzed, as well as, the reasons why a non
relation database like MongoDB is ideal for CarShare. The RouteBoxer algorithm
is presented, in order to reduce the number of “trajectory candidates” that
will be used as LCSS inputs.
Afterwards, technical details about CarShare’s implementation are demonstrated.
CarShare follows the Representational State Transfer (REST) architectural style
and for this reason, the Laravel Framework and AngularJS Framework was used for
the back- end and frontend of the application, respectively. The combination of
the aforementioned Frameworks in a specific way, was followed in order to
comply with the Model-View- Controller (MVC) architectural pattern. JSON web
tokens are introduced, as a way to implement a token-based authentication and
completely deactivate PHP sessions in the application. Moreover, Login via
Facebook functionality and the way it is combined with the above, are
demonstrated.
Finally, benchmarking tests, to examine how scalar our application is,
depending on the number of the trajectories stored in the database, are
provided.
Keywords:
trajectory similarity measures, web application, nosql databases, mongodb, json web tokens
Index:
Yes
Number of index pages:
7,9,33,34
Contains images:
Yes
Number of references:
33
Number of pages:
36
document.pdf (5 MB) Open in new window

 


attachments.zip
3 MB
File access is restricted.