Architecture strategies and implementation for moderm web applications
Αρχιτεκτονικές στρατηγικές και τεχνικές υλοποίησης για σύγχρονες εφαρμογές ιστού
Master Thesis
Author
Berdelis, Konstantinos
Μπερδελής, Κωνσταντίνος
Date
2025-11Advisor
Alepis, EfthimiosΑλέπης, Ευθύμιος
View/ Open
Keywords
Software engineering ; Web application ; CI/ CD ; Continues integration ; Backend services engineering ; Front-end services engineering ; Operations ; Monitoring ; Troubleshooting ; Microservices architecture ; WebSocket ; WebRTC ; Spring Boot ; React.js ; PostgreSQL ; Docker ; Kubernetes ; OAuth 2.0, JWT ; Infrastructure as code ; Real-time communication ; Cloud deploymentAbstract
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.


