Full-stack Spring Bοοt / Angular bοοking sοftware
Λογισμικό κρατήσεων σε Spring Bοοt και Angular

Master Thesis
Συγγραφέας
Koniavitis, Konstantinos
Κονιαβίτης, Κωνσταντίνος
Ημερομηνία
2025-04Επιβλέπων
Alepis, EfthimiosΑλέπης, Ευθύμιος
Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Angular ; Spring ; Booking software ; Full-stackΠερίληψη
Η παρούσα διπλωματική εργασία παρουσιάζει το σχεδιασμό και την υλοποίηση μιας εφαρμογής κρατήσεων για υπηρεσίες ομορφιάς και ευεξίας, η οποία αναπτύχθηκε χρησιμοποιώντας Angular για το frontend και Spring Boot για το backend, ακολουθώντας τις αρχές της Clean Architecture. Το σύστημα προσφέρει μια σταθερή, επεκτάσιμη και εύκολα συντηρήσιμη πλατφόρμα που επιτρέπει στους χρήστες να περιηγούνται στις διαθέσιμες υπηρεσίες, να βλέπουν διαθεσιμότητες και να προγραμματίζουν ραντεβού με παρόχους υπηρεσιών μέσω ενός εύχρηστου και διαισθητικού περιβάλλοντος χρήστη.
Κεντρικό στοιχείο της αρχιτεκτονικής είναι ο διαχωρισμός των ευθυνών σε διαφορετικά επίπεδα, προωθώντας τη μετατρεψιμότητα, την ευκολία στον έλεγχο και την ενίσχυση της δυνατότητας μελλοντικών επεκτάσεων. Η αυθεντικοποίηση των χρηστών διασφαλίζεται με ασφάλεια μέσω του Auth0, με χρήση JWT-based authentication και ελέγχου πρόσβασης βάσει ρόλων, ώστε να προστατεύονται οι ευαίσθητες λειτουργίες.
Η PostgreSQL χρησιμοποιείται ως το κύριο σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων, αξιοποιώντας τις προηγμένες δυνατότητές της σε ερωτήματα και τη συμμόρφωση με τις ιδιότητες ACID για τη διασφάλιση της ακεραιότητας των δεδομένων. Το Spring Data JPA αφαιρεί την πολυπλοκότητα του επιπέδου πρόσβασης στα δεδομένα, επιτρέποντας καθαρότερο κώδικα και καλύτερη ευθυγράμμιση με τις αρχές του domain-driven design.
Ορισμένα βασικά τεχνικά χαρακτηριστικά περιλαμβάνουν έναν καθαρό και εύκολα συντηρήσιμο κώδικα, ένα ασφαλές σύστημα κρατήσεων και ένα ευέλικτο και φιλικό προς τον χρήστη περιβάλλον Angular.
Η διπλωματική αυτή αναδεικνύει επιτυχώς σύγχρονες πρακτικές ανάπτυξης λογισμικού, όπως η πολυεπίπεδη αρχιτεκτονική, η ασφαλής αυθεντικοποίηση, η αποτελεσματική διαχείριση δεδομένων και ο σχεδιασμός διεπαφών βασισμένων σε components. Δεν καλύπτει μόνο πραγματικές ανάγκες κρατήσεων, αλλά επιπλέον καταδεικνύει την πρακτική εφαρμογή της Clean Architecture στην υλοποίηση επεκτάσιμων και έτοιμων για παραγωγή full-stack εφαρμογών.