Papadakis, NikolaosΠαπαδάκης, ΝικόλαοςBarka, EleftheriaΜπάρκα, Ελευθερία2024-06-272024-06-272024-06-26https://apothesis.hmu.gr/handle/123456789/11007The purpose of this thesis is the utilization of internet technologies and their possibilities in the field of equestrian tourism in Epirus Region in Greece. Through a systematic approach to the development of the "Pegasus Epirus Equitours" website, an overview of various frond and back end technologies is offered. This website is a solution for those looking for horseback riding experiences, but it can also be the chance for an increase in equestrian tourism and proper development of Epirus region in that field. Pegasus Epirus Equitours is developed on the principles of a RESTful API, which is ideal for data exchange between server and client (user), as it can communicate and retrieve content dynamically. Specifically, resource-based endpoints are identified by a URI, allowing users to interact with various aspects of the site, from browsing available horseback riding tours to securely booking, and paying for a horseback riding tour. Moreover, RESTful communication ensures that each client request contains the necessary information, thereby enhancing system scalability and responsiveness. The architecture of the website follows the Model-View-Controller (MVC) model. Specifically, the backend architecture was developed using Node.js, Express, MongoDB and Mongoose technologies. Mongoose schemas define the resource structure, while the data is stored in a MongoDB database, ensuring consistency and reliability. The View level (user interface) was built with HTML, CSS, JavaScript and PUG templates in the frontend while user interactions and dynamic content are achieved through JavaScript. The Controller level (application logic) is developed through the Express framework, and the middlewares, routes and sessions to maintain the state of the user that allows the specific framework the creation of a RESTful API. In addition, controllers process requests and call model functions to determine the appropriate user-side view each time. User features: user authentication, browsing, booking functionality, control system, payment processing, profile customization (update name, photo, email, password), review editing, view bookings and reviews. Admin features: tours/users/reviews management (edit their fields and update them), see all bookings, profile customization (similar to users). This thesis focuses on creating an efficient website, with user-friendly interfaces, smooth interactions and security methods. Finally, by addressing the needs of both users and administrators, the Pegasus Epirus Equitours website aims to redefine the equestrian tourism experience through the possibilities offered by technology.Σκοπός της παρούσας πτυχιακής εργασίας είναι η αξιοποίηση των τεχνολογιών του διαδικτύου και των δυνατοτήτων τους στον τομέα του ιππικού τουρισμού στην Περιφέρεια Ηπείρου, στην Ελλάδα. Συγκεκριμένα, η ανάπτυξη της ιστοσελίδας Pegasus Epirus Equitours έγινε μέσω μιας συστηματικής προσέγγισης, ώστε να προσφέρει μια επισκόπηση διαφόρων τεχνολογιών front και back end. H ιστοσελίδα είναι μια λύση για όσους αναζητούν εμπειρίες ιππασίας, ενώ μπορεί επίσης να αποτελέσει την ευκαιρία για την αύξηση του ιππικού τουρισμού και τη σωστή ανάπτυξη της περιοχής της Ηπείρου σε αυτόν τον τομέα. Η ιστοσελίδα Pegasus Epirus Equitours αναπτύχθηκε με βάση τις αρχές ενός RESTful API, το οποίο είναι ιδανικό για ανταλλαγή δεδομένων μεταξύ διακομιστή και πελάτη (χρήστη), καθώς μπορεί να επικοινωνεί και να ανακτά περιεχόμενο δυναμικά. Συγκεκριμένα, τα τελικά σημεία (endpoints) βασίζονται σε πόρους και προσδιορίζονται από ένα URI, επιτρέποντας στους χρήστες να αλληλεπιδρούν με διάφορες πτυχές του ιστότοπου, από την περιήγηση σε διαθέσιμες εκδρομές με άλογα έως την ασφαλή κράτηση και την πληρωμή για μια εκδρομή ιππασίας. Επιπλέον, η επικοινωνία RESTful διασφαλίζει ότι κάθε αίτημα χρήστη περιέχει τις απαραίτητες πληροφορίες, ενισχύοντας έτσι την επεκτασιμότητα και την ανταπόκριση του συστήματος. Η αρχιτεκτονική του ιστότοπου ακολουθεί το μοντέλο Model-View-Controller (MVC). Συγκεκριμένα, η αρχιτεκτονική του στο backend αναπτύχθηκε χρησιμοποιώντας τεχνολογίες Node.js, Express, MongoDB και Mongoose. Τα σχήματα Mongoose ορίζουν τη δομή των πόρων, ενώ τα δεδομένα αποθηκεύονται σε μια βάση δεδομένων MongoDB, διασφαλίζοντας συνέπεια και αξιοπιστία. H διεπαφή στην πλευρά του χρήστη δημιουργήθηκε με πρότυπα HTML, CSS, JavaScript και PUG στο frontend, ενώ οι αλληλεπιδράσεις των χρηστών και το δυναμικό περιεχόμενο επιτυγχάνονται μέσω JavaScript. Η λογική της εφαρμογής αναπτύσσεται μέσω του framework Express και των ενδιάμεσων λογισμικών, των δρομολογίων και των συνεδριών για τη διατήρηση της κατάστασης του χρήστη, που επιτρέπει στο συγκεκριμένο framework τη δημιουργία ενός RESTful API. Επιπλέον, οι ελεγκτές επεξεργάζονται αιτήματα και καλούν συναρτήσεις του μοντέλου με σκοπό να καθορίζουν κάθε φορά την κατάλληλη προβολή από την πλευρά του χρήστη. Χαρακτηριστικά χρήστη: έλεγχος ταυτότητας χρήστη, περιήγηση, λειτουργικότητα κράτησης, επεξεργασία πληρωμών, επεξεργασία προφίλ (ενημέρωση ονόματος, φωτογραφίας, email, κωδικού πρόσβασης), επεξεργασία κριτικών, προβολή κρατήσεων και κριτικών. Χαρακτηριστικά διαχειριστή: διαχείριση περιηγήσεων/χρηστών/κριτικών (δυνατότητα επεξεργασίας και ενημέρωσης), προβολή όλων των κρατήσεων, προσαρμογή προφίλ (παρόμοια με του χρήστη). Τέλος, η παρούσα πτυχιακή εργασία εστιάζει στη δημιουργία μιας φιλικής διεπαφής προς τον χρήστη, με σωστή αλληλεπίδραση μεταξύ χρήστη και server και μεθόδους ασφαλείας. Έτσι, αντιμετωπίζοντας τις ανάγκες τόσο των χρηστών όσο και των διαχειριστών, ο ιστότοπος Pegasus Epirus Equitour στοχεύει στον επαναπροσδιορισμό της εμπειρίας του ιππικού τουρισμού μέσω των δυνατοτήτων που προσφέρει η τεχνολογία.enAttribution-NonCommercial-NoDerivs 3.0 United Statesonline reservation systemhorse ridingwebsiteRESTful APIonline σύστημα κρατήσεωνιππασίαιστότοποςDeveloping a RESTful API website with secure payments for horse booking - in Epirus, Greece - with Node.js, Express and Mongo DBΔημιουργία ενός RESTful API website για ενοικίαση εκδρομής με άλογο – στην Ήπειρo, στην Ελλάδα – με χρήση Node.js, Express and MongoDBΠτυχιακή Εργασία