dc.contributor.advisor | Αλέπης, Ευθύμιος | |
dc.contributor.author | Δαβλιάνη, Ιωάννα | |
dc.date.accessioned | 2022-06-24T06:53:33Z | |
dc.date.available | 2022-06-24T06:53:33Z | |
dc.date.issued | 2022-06 | |
dc.identifier.uri | https://dione.lib.unipi.gr/xmlui/handle/unipi/14412 | |
dc.identifier.uri | http://dx.doi.org/10.26267/unipi_dione/1835 | |
dc.description.abstract | Η παρούσα διπλωματική εργασία εκπονήθηκε στα πλαίσια του Προγράμματος Μεταπτυχιακών Σπουδών “Προηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνης”, και έχει ως στόχο την υλοποίηση web εφαρμογής, για την ψηφιοποίηση εγγράφων βαθμολογίας φοιτητών και τίτλων σπουδών πανεπιστημίου, αξιοποιώντας την τεχνολογία blockchain.
Έχει αναπτυχθεί κατάλληλο περιβάλλον χρήστη front-end σε angular framework προκειμένου να ανεβάζει αρχεία κατάλληλα εξουσιοδοτημένος υπάλληλος πανεπιστημίου, ο οποίος έχει επίσης δικαίωμα αναζήτησης των φοιτητών, των εγγράφων τους αλλά και των πληροφοριών όλων των blocks του blockchain. Οι φοιτητές μπορούν με την είσοδό τους στην εφαρμογή να κάνουν αναζήτηση των δικών τους εγγράφων και να δουν πληροφορίες των blocks που είναι εγγεγραμμένη η δική τους πληροφορία. Επίσης οι φοιτητές μπορούν να δουν στοιχεία επικοινωνίας των υπαλλήλων - καθηγητών του πανεπιστημίου. Οι ρόλοι των χρηστών μπορούν να επεξεργαστούν από τον διαχειριστή (admin) του συστήματος, ο οποίος μπορεί να τροποποιήσει το ρόλο των εγγεγραμμένων χρηστών.
Το backend έχει αναπτυχθεί σε αρχιτεκτονική microservices με Spring Webflux, χρησιμοποιώντας ασύγχρονες κλήσεις προς τα microservices, ενώ χρησιμοποιήθηκε MongoDB για ασύγχρονη αναζήτηση και αποθήκευση των εγγράφων. Εκτός από την απευθείας κλήση μεταξύ των microservices χρησιμοποιήθηκε message broker (RabbitMQ) ώστε να διασφαλιστεί η απρόσκοπτη επικοινωνία μεταξύ τους, και να εξασφαλιστεί ότι δεν θα υπάρξει απώλεια δεδομένων. Για την αποθήκευση εγγράφων, είναι αποδεκτά αρχεία τύπου pdf αλλά και PNG, JPG τα οποία μετατρέπονται σε PDF με τη χρήση OCR, ενώ για το tracing των requests χρησιμοποιήθηκε zipkin.
Τέλος για την ασφάλεια της εφαρμογής χρησιμοποιήθηκε keycloak server ο οποίος εκδίδει Json Web Tokens (JWT) για κάθε κλήση των συνδεδεμένων χρηστών στο front-end και επιβεβαιώνει την εγκυρότητα του στο back-end. O server χρησιμοποιεί postgres βάση δεδομένων για την αποθήκευση των χρηστών. | el |
dc.format.extent | 67 | el |
dc.language.iso | el | el |
dc.publisher | Πανεπιστήμιο Πειραιώς | el |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.title | Ψηφιοποίηση εγγράφων και διασφάλιση γνησιότητας με χρήση της τεχνολογίας blockchain | el |
dc.title.alternative | Document digitation and validation using blockchain technology | el |
dc.type | Master Thesis | el |
dc.contributor.department | Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικής | el |
dc.description.abstractEN | The presented thesis was developed within the Master's Degree Programme "Advanced Computer Systems - Software Development and Artificial Intelligence" framework. Its objective was to implement a web application that digitises student grades and university degrees using blockchain technology.
It integrates a friendly front-end user interface developed in the Angular framework to upload files by a suitably authorised university employee, who also has the right to search students, their documents and information of all blockchain blocks. Upon entering the application, students can explore their documents and view the information of the blocks that host them. Also, they can view the contact information of the employees - professors of the university. User roles are editable by the administrator (admin) of the system, who can modify the role of registered users.
The backend has been developed in a microservices architecture with Spring Webflux, using asynchronous calls to microservices. MongoDB was used for asynchronous document search and storage. In addition to direct calls between microservices, a message broker (RabbitMQ) was used to ensure seamless communication between them and to ensure that there would be no data loss. For storing documents, PDF files are accepted as well as PNG and JPG files which are converted to PDF using OCR, while Zipkin was used for tracing requests.
Finally, the Keycloak server was used for the application's security, which issues Json Web Tokens (JWT) for each call of the connected users on the front-end and confirms its validity on the backend. The server uses the Postgres database for storing the users. | el |
dc.contributor.master | Προηγμένα Συστήματα Πληροφορικής | el |
dc.subject.keyword | Γνησιότητα εγγράφων | el |
dc.subject.keyword | Blockchain | el |
dc.subject.keyword | OCR | el |
dc.date.defense | 2022-06-22 | |