Εμφάνιση απλής εγγραφής

Development of a WebAPI software

dc.contributor.advisorAlepis, Efthimios
dc.contributor.advisorΑλέπης, Ευθύμιος
dc.contributor.authorMouzakitis, Theodoros
dc.contributor.authorΜουζακίτης, Θεόδωρος
dc.date.accessioned2023-07-26T07:30:07Z
dc.date.available2023-07-26T07:30:07Z
dc.date.issued2023-07
dc.identifier.urihttps://dione.lib.unipi.gr/xmlui/handle/unipi/15630
dc.identifier.urihttp://dx.doi.org/10.26267/unipi_dione/3052
dc.description.abstractΤο παρόν έγγραφο παρουσιάζει το ταξίδι ενός παθιασμένου προγραμματιστή που ανέλαβε να σχεδιάσει και να υλοποιήσει ένα API για τη διαχείριση πελατών, παραγγελιών και προϊόντων. Ο στόχος ήταν να δημιουργηθεί μια αποτελεσματική και ισχυρή λύση που να τηρεί τις σύγχρονες αρχές ανάπτυξης λογισμικού και τις βέλτιστες πρακτικές. Ο προγραμματιστής χρησιμοποίησε ισχυρά θεμέλια στη γλώσσα C# και ολοκληρωμένες γνώσεις σχεδιασμού λογισμικού για την κατασκευή του API. Καθ' όλη τη διάρκεια της διαδικασίας υλοποίησης, δόθηκε προτεραιότητα σε τυποποιημένα εργαλεία για να διασφαλιστεί η επεκτασιμότητα και η συντηρησιμότητα. Το Entity Framework επιλέχθηκε αποθετηρίο για να διαχωριστεί η λογική της εφαρμογής από τη λογική δεδομένων. Επιπλέον, ενσωματώθηκε το πρότυπο unit of work για την ενίσχυση της ακεραιότητας των δεδομένων και την εγγύηση αξιόπιστων λειτουργιών σε πολλαπλές οντότητες στο πλαίσιο μιας ενιαίας συναλλαγής. Το API σχεδιάστηκε για να ικανοποιεί τις απαιτήσεις του έργου, επιτρέποντας λειτουργίες CRUD για προϊόντα και χειριζόμενο σενάρια όπου πολλοί πελάτες μπορεί να έχουν το ίδιο όνομα. Δημιουργήθηκε σχολαστικά ολοκληρωμένη τεκμηρίωση με τη χρήση σχολίων XML, παρέχοντας εύκολη πρόσβαση στη δομή, τη χρήση και τις διαθέσιμες μεθόδους του API. Ενσωματώθηκαν δοκιμές μονάδας με χρήση του πλαισίου NUnit για την επαλήθευση της συμπεριφοράς του API, διασφαλίζοντας την ορθότητα, την αξιοπιστία και την τήρηση των προδιαγραφών. Οι σύγχρονες αρχές ανάπτυξης λογισμικού, όπως ο σχεδιασμός με γνώμονα τον τομέα (Domain-Driven Design - DDD) και το πρότυπο διαχωρισμού ευθύνης ερωτήσεων εντολών (Command Query Responsibility Segregation - CQRS), υιοθετήθηκαν για να επικεντρωθούν στη βασική λογική του τομέα και να βελτιστοποιήσουν τις επιδόσεις και την επεκτασιμότητα. Καθ' όλη τη διάρκεια του έργου, ελήφθησαν τεκμηριωμένες αποφάσεις με βάση υποθέσεις και εκτιμήσεις για την επίτευξη των στόχων του API. Υλοποιήθηκαν βασικές επικυρώσεις, συμπεριλαμβανομένου του μήκους του πεδίου, των απαιτήσεων για το όνομα του πελάτη και των περιορισμών στην τιμή και την ποσότητα. Αντιμετωπίστηκαν κρίσιμες πτυχές, όπως η μη διαγραφή προϊόντων και η περιορισμένη πρόσβαση στον ελεγκτή προϊόντων για τους διαχειριστές. Εν κατακλείδι, το παρόν έγγραφο αναδεικνύει τις τεχνικές δεξιότητες του προγραμματιστή, την προσοχή στη λεπτομέρεια και τη δέσμευση για την παροχή μιας λύσης υψηλής ποιότητας.Με την ενσωμάτωση βιομηχανικών προτύπων πρακτικών, προτύπων και τεκμηρίωσης, το API επιδεικνύει επάρκεια στο σχεδιασμό και την υλοποίηση αξιόπιστων και κλιμακούμενων συστημάτων για τη διαχείριση πελατών, παραγγελιών και προϊόντων.el
dc.format.extent28el
dc.language.isoenel
dc.publisherΠανεπιστήμιο Πειραιώςel
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/*
dc.titleDevelopment of a WebAPI softwareel
dc.title.alternativeΑνάπτυξη λογισμικού WebAPIel
dc.typeMaster Thesisel
dc.contributor.departmentΣχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικήςel
dc.description.abstractENThis paper presents the journey of a passionate developer tasked with designing and implementing an API for managing Customers, Orders, and Products. The objective was to create an efficient and robust solution adhering to modern software development principles and best practices. The developer employed a strong foundation in C# and comprehensive software design knowledge to construct the API. Throughout the implementation process, industry-standard tools and patterns were prioritized to ensure scalability and maintainability. The Entity Framework was chosen as the persistence framework, and the repository pattern was implemented to separate application logic from data persistence concerns. Additionally, the unit of work pattern was incorporated to enhance data integrity and guarantee reliable operations on multiple entities within a single transaction. The API was designed to fulfill project requirements, enabling CRUD operations for Products and handling scenarios where multiple Customers may share the same name. Comprehensive documentation was meticulously created using XML comments, providing easy access to the API's structure, usage, and available methods. Unit tests using the NUnit framework were integrated to verify the API's behavior, ensuring correctness, reliability, and adherence to specifications. Modern software development principles, such as Domain-Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) pattern, were embraced to focus on core domain logic and optimize performance and scalability. Throughout the project, informed decisions based on assumptions and considerations were made to meet the API's objectives. Essential validations, including field length, Customer name requirements, and constraints on price and quantity, were implemented. Crucial aspects such as non-deletion of Products and restricted access to the Products controller for administrators were addressed. In conclusion, this paper showcases the developer's technical skills, attention to detail, and commitment to delivering a high-quality solution. By incorporating industry-standard practices, patterns, and documentation, the API demonstrates proficiency in designing and implementing reliable and scalable systems for managing Customers, Orders, and Products.el
dc.contributor.masterΠροηγμένα Συστήματα Πληροφορικήςel
dc.subject.keywordWeb APIel
dc.subject.keywordEntity Framerworkel
dc.subject.keywordRepository patternel
dc.subject.keywordUnit of work patternel
dc.subject.keywordCRUDel
dc.date.defense2023-07


Αρχεία σε αυτό το τεκμήριο

Thumbnail

Αυτό το τεκμήριο εμφανίζεται στις ακόλουθες συλλογές

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα
Εκτός από όπου διευκρινίζεται διαφορετικά, το τεκμήριο διανέμεται με την ακόλουθη άδεια:
Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα

Βιβλιοθήκη Πανεπιστημίου Πειραιώς
Επικοινωνήστε μαζί μας
Στείλτε μας τα σχόλιά σας
Created by ELiDOC
Η δημιουργία κι ο εμπλουτισμός του Ιδρυματικού Αποθετηρίου "Διώνη", έγιναν στο πλαίσιο του Έργου «Υπηρεσία Ιδρυματικού Αποθετηρίου και Ψηφιακής Βιβλιοθήκης» της πράξης «Ψηφιακές υπηρεσίες ανοιχτής πρόσβασης της βιβλιοθήκης του Πανεπιστημίου Πειραιώς»