Development of a WebAPI software
Ανάπτυξη λογισμικού WebAPI
Master Thesis
Συγγραφέας
Mouzakitis, Theodoros
Μουζακίτης, Θεόδωρος
Ημερομηνία
2023-07Επιβλέπων
Alepis, EfthimiosΑλέπης, Ευθύμιος
Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Web API ; Entity Framerwork ; Repository pattern ; Unit of work pattern ; CRUDΠερίληψη
Το παρόν έγγραφο παρουσιάζει το ταξίδι ενός παθιασμένου προγραμματιστή που ανέλαβε να σχεδιάσει και να υλοποιήσει ένα 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 επιδεικνύει επάρκεια στο σχεδιασμό και την υλοποίηση αξιόπιστων και κλιμακούμενων συστημάτων για τη διαχείριση πελατών, παραγγελιών και προϊόντων.