CarShare: Αναπτυ?σσοντας μια πλατφο?ρμα συνεπιβατισμου? με PHP, AngularJS και MongoDB

Πτυχιακή Εργασία uoadl:1324490 759 Αναγνώσεις

Μονάδα:
Τομέας Υπολογιστικών Συστημάτων και Εφαρμογών
Βιβλιοθήκη Σχολής Θετικών Επιστημών
Ημερομηνία κατάθεσης:
2016-07-08
Έτος εκπόνησης:
2016
Συγγραφέας:
Μπερής Θεμιστοκλής
Στοιχεία επιβλεπόντων καθηγητών:
Αλέξιος Δελής
Πρωτότυπος Τίτλος:
CarShare: Αναπτυ?σσοντας μια πλατφο?ρμα συνεπιβατισμου? με PHP, AngularJS και MongoDB
Γλώσσες εργασίας:
Ελληνικά
Μεταφρασμένος τίτλος:
CarShare: Developing a carpooling web application using PHP, AngularJS and MongoDB
Περίληψη:
Στην παρουσα πτυχιακη εργασια παρουσιαζουμε την διαδικτυακη πλατφορμα
συνεπιβατισμου CarShare. Στοχος της, ειναι να μοιραζονται τα εξοδα μιας
διαδρομης μεσω του συνεπιβατισμου, τοσο στον χρηστη που παρεχει το
αυτοκινητο του σαν οδηγος, οσο και στον χρηστη που θα χρησιμοποιησει το
αυτοκινητο σαν επιβατης.
Αρχικα, παρατιθενται στιγμιοτυπα οθονης (screenshots), για να περιγραφει
ολη η λειτουργικοτητα του CarShare. Σε αυτα περιλαμβανεται μια αρχικη οψη
του CarShare, η Εισοδος στο συστημα, η Καταχωρηση Διαδρομης, ενα
παραδειγμα αναζητησης διαδρομης και παρουσιασης των αποτελεσματων
αναζητησης καθως και η Αποσυνδεση.
Στην συνεχεια, παρουσιαζεται ο αλγοριθμος Longest Common Subsequence (LCSS),
τον οποιο χρησιμοποιει το CarShare για να υπολογισει την ομοιοτητα μεταξυ
δυο διαδρομων και εξηγουμε τους λογους που τον προτιμησαμε σε σχεση με
αλλους, ηδη υπαρχοντες αλγοριθμους και περιγραφουμε αναλυτικα τον
αλγοριθμο.
Επειτα αναλυουμε τον τροπο αναπαραστασης των διαδρομων του CarShare σε μια
μη σχεσιακη βαση δεδομενων (NoSQL database), την MongoDB, και αναφερονται
οι λογοι για τους οποιους μια τετοια βαση δεδομενων, απαιτει ιδανικη
λυση. Παρουσιαζεται ο αλγοριθμος RouteBoxer και ο τροπος με τον οποιο
μπορει να συνδυαστει με την MongoDB, ωστε να αποκοπτονται διαδρομες που
χρησιμοποιουνται σαν εισοδο για ευρεση ομοιοτητας στον LCSS.
Αναφερουμε τεχνικα θεματα σχετικα με την υλοποιηση του CarShare.
Παρουσιαζεται η προσεγγιση της εφαρμογης μας, ωστε να πληρουνται οι
απαιτησεις της αρχιτεκτονικης Representational State Transfer (REST). Σε
αυτα περιλαμβανεται η χρηση του Σκελετου Laravel (Laravel Framework) για το
παρασκηνιο (backend), η χρηση του Σκελετου AngularJS (AngularJS Framework)
για το προσκηνιο (frontend) και ο τροπος με τον οποιο συνδυαζονται για να
αναπτυχθει το CarShare πανω σε μια αρχιτεκτονικη Μοντελο- Οψη-Ελεγκτη
(Model-View-Controller (MVC)). Αναφερουμε τον τροπο με τον οποιο γινεται
ταυτοποιηση (authentication) των χρηστων, ακολουθωντας την ταυτοποιηση
βασισμενη σε λεκτικες μοναδες (token-based authentication), με την χρηση
διαδικτυακων λεκτικων μοναδων JSON (JSON web tokens), αποφευγοντας πληρως
τις συνεδριες (sessions). Επισης αναφερεται και τo πως συνδυαζεται η χρηση
της “εισοδου μεσω Facebook” με ολα τα παραπανω.
Παρουσιαζουμε συγκριτικες αξιολογησεις (benchmarks) για το πως
κλιμακωνεται το CarShare με την αυξηση των διαδρομων στην βαση δεδομενων.
Λέξεις-κλειδιά:
μετρη?σεις ομοιο?τητας διαδρομω?ν, διαδικτυακη? πλατφο?ρμα, nosql βα?σεις, mongodb, διαδικτυακε?ς λεκτικε?ς μονα?δες json
Ευρετήριο:
Ναι
Αρ. σελίδων ευρετηρίου:
7,9,33,34
Εικονογραφημένη:
Ναι
Αρ. βιβλιογραφικών αναφορών:
33
Αριθμός σελίδων:
36

 


attachments.zip
3 MB
Δεν επιτρέπεται η πρόσβαση στο αρχείο.