| dc.contributor.advisor | Alepis, Efthimios | |
| dc.contributor.advisor | Αλέπης, Ευθύμιος | |
| dc.contributor.author | Berdelis, Konstantinos | |
| dc.contributor.author | Μπερδελής, Κωνσταντίνος | |
| dc.date.accessioned | 2025-11-26T10:58:36Z | |
| dc.date.available | 2025-11-26T10:58:36Z | |
| dc.date.issued | 2025-11 | |
| dc.identifier.uri | https://dione.lib.unipi.gr/xmlui/handle/unipi/18583 | |
| dc.description.abstract | Η παρούσα διατριβή παρουσιάζει μια ολοκληρωμένη διερεύνηση των αρχιτεκτονικών στρατηγικών και των τεχνικών υλοποίησης για σύγχρονες εφαρμογές ιστού. Η έρευνα επικεντρώνεται στη δημιουργία κλιμακούμενων, ασφαλών και συντηρήσιμων συστημάτων χρησιμοποιώντας σύγχρονα πλαίσια και εργαλεία, συμπεριλαμβανομένης της αρχιτεκτονικής μικροϋπηρεσιών, των πρωτοκόλλων επικοινωνίας σε πραγματικό χρόνο και των στρατηγικών ανάπτυξης σε cloud περιβάλλοντα.
Η εργασία επιδεικνύει τον πλήρη κύκλο ζωής της ανάπτυξης εφαρμογών ιστού, από τον αρχικό σχεδιασμό σχήματος βάσης δεδομένων με χρήση PostgreSQL έως την υλοποίηση RESTful και WebSocket APIs για την επικοινωνία πελάτη-διακομιστή. Η αρχιτεκτονική backend χρησιμοποιεί μικροϋπηρεσίες Spring Boot που ορχηστρώνονται μέσω message brokers (RabbitMQ και Kafka), με το Keycloak να διαχειρίζεται την πιστοποίηση και εξουσιοδότηση μέσω OAuth 2.0 και JWT bearer tokens. Το frontend κατασκευάζεται με React.js και Next.js χρησιμοποιώντας TypeScript, υλοποιώντας server-side rendering για βέλτιστη απόδοση και SEO.
Βασικές συνεισφορές περιλαμβάνουν την υλοποίηση αμφίδρομης επικοινωνίας σε πραγματικό χρόνο χρησιμοποιώντας WebSockets για λειτουργικότητα συνομιλίας και WebRTC για peer-to-peer κλήσεις ήχου-βίντεο. Η στρατηγική ανάπτυξης αξιοποιεί containerization με Docker και ενορχήστρωση με Kubernetes, χρησιμοποιώντας NGINX ως reverse proxy και load balancer. Το σύστημα ενσωματώνει ολοκληρωμένη παρακολούθηση μέσω Prometheus και Grafana, διασφαλίζοντας παρατηρησιμότητα και προληπτικό εντοπισμό προβλημάτων.
Προηγμένα χαρακτηριστικά περιλαμβάνουν την υλοποίηση Infrastructure as Code (IAC) χρησιμοποιώντας Terraform και Ansible για αυτοματοποιημένη προμήθεια και διαχείριση διαμόρφωσης, Redis caching για βελτιστοποίηση απόδοσης, και ενσωμάτωση ενός AI agent (DeepSeek-R1) εντός της υπηρεσίας WebSocket chat. Το CI/CD pipeline αυτοματοποιεί τις δοκιμές και την ανάπτυξη μέσω GitHub Actions, υποστηρίζοντας στρατηγικές blue-green deployment για ενημερώσεις χωρίς διακοπή λειτουργίας.
Η έρευνα δίνει έμφαση όχι μόνο στην πρακτική υλοποίηση αλλά και στις βασικές αρχές και τα αρχιτεκτονικά μοτίβα που καθιστούν τις σύγχρονες εφαρμογές ιστού εύρωστες, κλιμακούμενες και ασφαλείς. Αποφεύγοντας υπερβολικά αφαιρετικές λύσεις, αυτή η εργασία παρέχει στους προγραμματιστές μια σαφή κατανόηση του πώς λειτουργούν οι τεχνολογίες ιστού σε θεμελιώδες επίπεδο, επιτρέποντας τεκμηριωμένη λήψη αποφάσεων κατά την επιλογή εργαλείων και προσεγγίσεων για μελλοντικά έργα. | el |
| dc.format.extent | 61 | el |
| dc.language.iso | en | el |
| dc.publisher | Πανεπιστήμιο Πειραιώς | el |
| dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
| dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
| dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
| dc.title | Architecture strategies and implementation for moderm web applications | el |
| dc.title.alternative | Αρχιτεκτονικές στρατηγικές και τεχνικές υλοποίησης για σύγχρονες εφαρμογές ιστού | el |
| dc.type | Master Thesis | el |
| dc.contributor.department | Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικής | el |
| dc.description.abstractEN | This thesis presents a comprehensive exploration of architectural strategies and technical implementation approaches for modern web applications. The research focuses on building scalable, secure, and maintainable systems using contemporary frameworks and tools, including microservices architecture, real-time communication protocols, and cloud deployment strategies.
The work demonstrates the complete lifecycle of web application development, from initial database schema design using PostgreSQL to implementing RESTful and WebSocket APIs for client-server communication. The backend architecture employs Spring Boot microservices orchestrated through message brokers (RabbitMQ and Kafka), with Keycloak managing authentication and authorization via OAuth 2.0 and JWT bearer tokens. The frontend is built using React.js and Next.js with TypeScript, implementing server-side rendering for optimal performance and SEO.
Key contributions include the implementation of real-time bidirectional communication using WebSockets for chat functionality and WebRTC for peer-to-peer audio-video calls. The deployment strategy leverages containerization with Docker and orchestration with Kubernetes, utilizing NGINX as a reverse proxy and load balancer. The system incorporates comprehensive monitoring through Prometheus and Grafana, ensuring observability and proactive issue detection.
Advanced features include Infrastructure as Code (IAC) implementation using Terraform and Ansible for automated provisioning and configuration management, Redis caching for performance optimization, and integration of an AI agent (DeepSeek-R1) within the WebSocket chat service. The CI/CD pipeline automates testing and deployment through GitHub Actions, supporting blue-green deployment strategies for zero-downtime updates.
The research emphasizes not only the practical implementation but also the underlying principles and architectural patterns that make modern web applications robust, scalable, and secure. By avoiding overly abstracted solutions, this work provides developers with a clear understanding of how web technologies function at a fundamental level, enabling informed decision-making when selecting tools and approaches for future projects. | el |
| dc.contributor.master | Προηγμένα Συστήματα Πληροφορικής | el |
| dc.subject.keyword | Software engineering | el |
| dc.subject.keyword | Web application | el |
| dc.subject.keyword | CI/ CD | el |
| dc.subject.keyword | Continues integration | el |
| dc.subject.keyword | Backend services engineering | el |
| dc.subject.keyword | Front-end services engineering | el |
| dc.subject.keyword | Operations | el |
| dc.subject.keyword | Monitoring | el |
| dc.subject.keyword | Troubleshooting | el |
| dc.subject.keyword | Microservices architecture | el |
| dc.subject.keyword | WebSocket | el |
| dc.subject.keyword | WebRTC | el |
| dc.subject.keyword | Spring Boot | el |
| dc.subject.keyword | React.js | el |
| dc.subject.keyword | PostgreSQL | el |
| dc.subject.keyword | Docker | el |
| dc.subject.keyword | Kubernetes | el |
| dc.subject.keyword | OAuth 2.0, JWT | el |
| dc.subject.keyword | Infrastructure as code | el |
| dc.subject.keyword | Real-time communication | el |
| dc.subject.keyword | Cloud deployment | el |
| dc.date.defense | 2025-11-11 | |