Examee: An Internal DSL-based framework for composing personalized exams in a .NET environment.

dc.contributor.advisorΔημητρουλάκος, Γρηγόρης
dc.contributor.advisorΒασιλάκης, Κωνσταντίνος
dc.contributor.authorΡηγόπουλος, Στέφανος
dc.contributor.committeeΤρυφωνόπουλος, Χρήστος
dc.contributor.committeeΒασιλάκης, Κωνσταντίνος
dc.contributor.departmentΤμήμα Πληροφορικής και Τηλεπικοινωνιώνel
dc.contributor.facultyΣχολή Οικονομίας και Τεχνολογίαςel
dc.contributor.masterΕπιστήμη Υπολογιστώνel
dc.date.accessioned2025-06-23T10:40:34Z
dc.date.available2025-06-23T10:40:34Z
dc.date.issued2025-03-27
dc.descriptionΜ.Δ.Ε. 84el
dc.description.abstractThis thesis presents Examee, a dynamic platform designed to allow teachers to create, customize, and build exams through a custom domain-specific internal language (DSL) embedded in a .NET library. The Examee tool set leverages an internal DSL, allowing teachers to define exam structures, add custom parameters, and configure exam content exactly as required. Teachers create exam templates as .DLL (Dynamic Link Library) files using Examee's .NET-based library, incorporating a rich set of design templates, including Builder, Composite and Intermediate Representation (IR) Tree, to facilitate complex, hierarchical definition of exam content. Once created, these templates can be uploaded to the Examee platform for automated production of unique exams. On the platform, the backend architecture, based on .NET Core, is integrated with a PostgreSQL database to manage user information, exam templates and query data extracted directly from uploaded DLLs. Utilizing additional design patterns such as Repository, Unit of Work and Dependency Injection, the backend securely executes these DLLs and extracts data for further processing. Exams are created dynamically based on the provided parameters, with the results saved in the desired PDF format and securely stored for user download. Examee's frontend, developed using Angular, provides an improved interface for uploading files, recording and managing exam downloads, using cloud storage solutions to manage file transfer.el
dc.description.abstracttranslatedΗ παρούσα διπλωματική εργασία παρουσιάζει το Examee, μια δυναμική πλατφόρμα που έχει σχεδιαστεί για να επιτρέπει στους καθηγητές να δημιουργούν, να προσαρμόζουν και να δημιουργούν εξετάσεις μέσω μιας προσαρμοσμένης εσωτερικής γλώσσας ειδικού τομέα (DSL) ενσωματωμένης σε μια βιβλιοθήκη .NET. Το σύνολο εργαλείων του Examee αξιοποιεί μια εσωτερική DSL, επιτρέποντας στους εκπαιδευτικούς να ορίζουν δομές εξετάσεων, να προσθέτουν προσαρμοσμένες παραμέτρους και να διαμορφώνουν το περιεχόμενο των εξετάσεων ακριβώς σύμφωνα με τις απαιτήσεις τους. Οι καθηγητές δημιουργούν πρότυπα εξετάσεων ως αρχεία .DLL (Dynamic Link Library) χρησιμοποιώντας τη βιβλιοθήκη της Examee που βασίζεται στο .NET, ενσωματώνοντας μια πλούσια σειρά προτύπων σχεδίασης, συμπεριλαμβανομένων των Builder, Composite και Intermediate Representation (IR) Tree, για να διευκολύνουν τον πολύπλοκο, ιεραρχικό ορισμό του περιεχομένου των εξετάσεων. Μόλις δημιουργηθούν, τα πρότυπα αυτά μπορούν να μεταφορτωθούν στην πλατφόρμα του Examee για την αυτοματοποιημένη παραγωγή μοναδικών εξετάσεων. Σχετικά με την πλατφόρμα, η αρχιτεκτονική του backend, που βασίζεται στο .NET Core, είναι ενσωματωμένη σε μια βάση δεδομένων PostgreSQL για τη διαχείριση των πληροφοριών των χρηστών, των προτύπων εξετάσεων και των δεδομένων των ερωτήσεων που εξάγονται απευθείας από τα ανεβασμένα DLL. Αξιοποιώντας πρόσθετα πρότυπα σχεδίασης, όπως Repository, Unit of Work και Dependency Injection, το backend εκτελεί με ασφάλεια αυτά τα DLL και εξάγει δεδομένα για περαιτέρω επεξεργασία. Η δημιουργία εξετάσεων πραγματοποιείται δυναμικά με βάση τις παρεχόμενες παραμέτρους, με τα αποτελέσματα να αποθηκεύονται στην επιθυμητή μορφή PDF και να αποθηκεύονται με ασφάλεια για λήψη από τον χρήστη. Το frontend του Examee, που αναπτύχθηκε με τη χρήση Angular, παρέχει μια βελτιωμένη διεπαφή για τη μεταφόρτωση αρχείων, την εγγραφή και τη διαχείριση των λήψεων εξετάσεων, χρησιμοποιώντας λύσεις αποθήκευσης στο cloud για τη διαχείριση της μεταφοράς αρχείων.el
dc.format.extent83el
dc.identifier.urihttps://amitos.library.uop.gr/xmlui/handle/123456789/8986
dc.language.isoenel
dc.publisherΠανεπιστήμιο Πελοποννήσουel
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/*
dc.subjectΤεχνολογία λογισμικούel
dc.subjectΕκπαιδευτικοί- Εξετάσειςel
dc.subjectSoftware engineeringel
dc.subjectEducators-Examinationsel
dc.subjectComputing platformsel
dc.subjectΥπολογιστικές πλατφόρμεςel
dc.subject.keywordC#el
dc.subject.keyword.NET Coreel
dc.subject.keyword.NET Frameworkel
dc.subject.keywordEntity Frameworkel
dc.subject.keywordDLLel
dc.subject.keywordHTTP Pipelineel
dc.subject.keywordDesign Patternsel
dc.subject.keywordIntermediate Representation Treeel
dc.subject.keywordJSON Web Tokenel
dc.subject.keywordSQL Serverel
dc.subject.keywordDockerel
dc.subject.keywordGitHubel
dc.subject.keywordGitHub Actionsel
dc.subject.keywordHTMLel
dc.subject.keywordCSSel
dc.subject.keywordTypeScriptel
dc.subject.keywordAngularel
dc.titleExamee: An Internal DSL-based framework for composing personalized exams in a .NET environment.el
dc.title.alternativeExamee: Ένα Framework εσωτερικής DSL για τη σύνθεση εξατομικευμένων εξετάσεων σε περιβάλλον .NET.el
dc.typeΜεταπτυχιακή διπλωματική εργασίαel

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Rigopoulos_2022202302016.pdf
Size:
3.36 MB
Format:
Adobe Portable Document Format
Description:
Μεταπτυχιακή Διπλωματική Εργασία

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
933 B
Format:
Item-specific license agreed upon to submission
Description: