Σύστημα Διαχείρισης Αποθήκης για Μικρομεσαίες Επιχειρήσεις με Web Εφαρμογή
Ημερομηνία
2026-01
Συγγραφείς
Τσακανιάς, Συμεών
Τίτλος Εφημερίδας
Περιοδικό ISSN
Τίτλος τόμου
Εκδότης
ΔΙΠΑΕ
Παραπομπή
Παραπομπή
Άδεια Creative Commons
Εκτός εάν σημειώνεται διαφορετικά, η άδεια αυτού του αντικειμένου περιγράφεται ως Attribution-NonCommercial-NoDerivatives 4.0 International
Περίληψη
Κεντρικός στόχος της διπλωματικής είναι η σχεδίαση και υλοποίηση ενός σύγχρονου πληροφοριακού συστήματος απογραφής το οποίο λειτουργεί ως PWA και μπορεί να χρησιμοποιηθεί σε φορητές συσκευές. Υλοποιεί ασφαλή αυθεντικοποίηση και εξουσιοδότηση με JWT, υποστηρίζει offline-first σενάρια με τοπική αποθήκευση (IndexedDB) και μηχανισμό συγχρονισμού, ενσωματώνει σάρωση barcode είτε μέσω hardware (ως πληκτρολόγιο) είτε μέσω κάμερας (Html5Qrcode και JS interop). Επίσης, ακολουθεί δομημένη αρχιτεκτονική προσέγγιση (Clean Architecture) ώστε να διευκολύνει τη συντήρηση και την εξέλιξη του συστήματος.
Για την υλοποίηση αξιοποιήθηκε το οικοσύστημα της Microsoft: C# και .NET, ASP.NET Core Web Api για το backend και Blazor WebAssembly για το frontend, με SQL Server ως βάση δεδομένων. Η αρχιτεκτονική διαχωρίζει τις ευθύνες σε διακριτά επίπεδα (Core, Infrastructure, Shared, WebApi, Blazor Client), ενώ η επικοινωνία μεταξύ client και server βασίζεται σε DTOs και τυπικές REST πρακτικές με κατάλληλα HTTP status codes και συμβάσεις σφαλμάτων. Στο κομμάτι της ασφάλειας υιοθετήθηκε μηχανισμός access/refresh tokens, προστασία endpoints με [Authorize] και roled-based πρόσβαση, καθώς και οργάνωση του client authentication flow με AuthStateProvider και DelegatingHandler για την αυτόματη προσθήκη Bearer tokens και ανανέωση όταν απαιτείται.
Ιδιαίτερη έμφαση δόθηκε στη χρηστικότητα (UX) και στην αξιοπιστία της λειτουργίας σε πραγματικές συνθήκες. Η offline-first προσέγγιση επιτρέπει τη συνέχιση εργασίας χωρίς σύνδεση, αποθηκεύοντας ενέργειες τοπικά και συγχρονίζοντας τες όταν το δίκτυο αποκατασταθεί, ενώ ο χρήστης ενημερώνεται με ενδείξεις online/offline και μετρητή εκκρεμοτήτων. Αντίστοιχα, η σάρωση barcodes σχεδιάστηκε ώστε διαφορετικοί τρόποι εισόδου (scanner ή κάμερα) να καταλήγουν σε κοινή ροή χειρισμού, μειώνοντας την πολυπλοκότητα και αυξάνοντας τη συνέπεια της λειτουργίας.
Η εργασία οργανώνεται ως εξής: αρχικά παρουσιάζεται το τεχνολογικό υπόβαθρο και τα βασικά εργαλεία ανάπτυξης, στη συνέχεια αναλύεται η αρχιτεκτονική και η δομή της λύσης (backend και frontend), ακολουθεί λεπτομερής περιγραφή κρίσιμων υποσυστημάτων (JWT authentication, offline-first συγχρονισμός, barcode scanning) και τέλος παρουσιάζεται το εγχειρίδιο χρήσης και τα βασικά σενάρια λειτουργίας της εφαρμογής.The main objective of this thesis is the design and implementation of modern inventory management information system that operates as Progressive Web Application (PWA) and can be used on mobile and portable devices. The system implements secure authentication and authorization mechanisms using JSON Web Tokens (JWT), supports offline-first scenarios through local storage with IndexedDB and a synchronization mechanism and integrates barcode scanning either via dedicated hardware scanners acting as keyboard input or through the device camera using Html5Qrcode and JavaScript interop. Furthermore, the application follows a structured architectural approach based on Clean Architecture principles, facilitating maintainability and future system evolution.
The implementation leverages the Microsoft technology ecosystem, utilizing C# and .NET, ASP.NET Core Web API for the backend and Blazor WebAssembly for the frontend, with SQL Server serving as the underlying database system. The overall architecture separates responsibilities into distinct layers (Core, Infrastucture, Shared, Web API, Blazor Client), while client-server communication is based on Data Transfer Objects (DTOs) and standard REST practices, employing appropriate HTTP status codes and error-handling conventions. Regarding security, an access/refresh token mechanism is adopted, API endpoints are protected using the [Authorize] attribute with role-based access control and the client-side authentication flow is organized through a custom AuthenticationStateProvider and a DelegatingHandler responsible for the automatic attachment of Bearer tokens and their renewal when required.
Special emphasis is placed on usability (UX) and operational reliability under real-world conditions. The first offline approach enables uninterrupted workflow in the absence of network connectivity by locally storing user actions and synchronizing them once the connection is restored, while the user is informed through online/offline indicators and pending-operations counter. Similarly, barcode scanning functionality is designed so that different input methods (hardware scanner or camera-based scanning) converge into a unified processing flow, reducing system complexity and ensuring consistent behavior.
The thesis is structured as follows: initially, the technological background and the main development tools are presented. Subsequently, the system architecture and solution structure (backend and frontend) are analyzed. This is followed by a detailed description of critical subsystems (JWT authentication, offline-first synchronization and barcode scanning. Finally, the user manual and the primary operational scenarios of the application are presented.
Περίληψη
Περιγραφή
Λέξεις-κλειδιά
C#, .NET, ASP.NET Core Web Api, Blazor WebAssembly, SQL Server, RESTFUL, PWA, JWT, Authentication & Authorization, IndexedDB, Html5Qrcode, JS Interop, Offline mode, Synchronization, UI/UX

