background image

 

Νικόλας Ψύλλου, Σχεδίαση και Υλοποίηση διαδικτυακής πλατφόρμας για 
εξυπηρέτηση παιχνιδιών καρτών απομακρυσμένων παικτών
 

 

Πτυχιακή / Διπλωματική Εργασία 

 

13 

2.4.1 Node.js 

Η Node.js [19] είναι βιβλιοθήκη ανοιχτού κώδικα που τρέχει στο περιβάλλον την 

JavaScript. H Node.js δεν τρέχει στο πρόγραμμα περιήγησης όπως κάνει η απλή JavaScript 
αλλά τρέχει σε διακομιστή στο διαδίκτυο. Είναι τέλεια για την χρήση σε προγράμματα για 
ανταλλαγή  δεδομένων  με  την  ιστοσελίδα,  καθώς  καλεί  συναρτήσεις  ασύγχρονα  και  η 
ιστοσελίδα γίνεται δυναμική. 

Είναι πολύ γνωστή βιβλιοθήκη και υπάρχουν πάρα πολλά  διαθέσιμα πακέτα που 

μπορούν να εγκατασταθούν σε αυτή ώστε να μειώσει το χρόνο υλοποίησης μίας εφαρμογής. 
Το  συντακτικό  της  είναι  το  ίδιο  με  την  JavaScript  που  είναι  πλεονέκτημα  για  του 
προγραμματιστές που την γνωρίζουν.  Στα βασικά της πλεονεκτήματα προστίθεται  η ταχύς 
μεταφορά  δεδομένων  γιατί  τα  αρχεία  της  φορτώνονται  κατευθείαν  από  την  βιβλιοθήκη. 
Επιπλέον, λόγω της ασύγχρονης αρχιτεκτονικής που κατασκευάστηκε, οι κλήσεις μπορούν 
να γίνουν ταυτόχρονα χωρίς να περιμένουν να ολοκληρωθεί η μία κλήση για να μπορεί να 
εκτελέσει  η  επόμενη  κλήση.  Αυτό  επιτυγχάνεται  με  την  εφαρμογή  «Asynchronous  in 
Nature and Event driven». 
 

2.4.2 Nest.js 

 

Για  να  μπορεί  να  τρέξει  η  Node.js  στην  μεριά  του  διακομιστή  χρειάζεται  την 

βιβλιοθήκη της Express.js. Η Nest.js [20] είναι βιβλιοθήκη που είναι υλοποιημένη πάνω 
στο  περιβάλλον  της  Node.js    σε  συνδυασμό  με  TypeScript.  Αυτός  ο  συνδυασμός  για 
δημιουργία της Nest.js δίνει την δυνατότητα στους προγραμματιστές να φτιάξουν μεγάλης 
κλίμακας  εφαρμογές.  Επίσης,  δίνει  την  δυνατότητα  στους  προγραμματιστές,  μέσα  από 
εντολές του command line, να δημιουργούν έτοιμα αρχεία κώδικα

.  

 

Η  αρχειοθέτηση  των  αρχείων  χωρίζεται  σε  3  βασικά  αρχεία  που  προσφέρουν 

καλύτερη  οργάνωση  στον  κώδικα.  Αρχικά,  οι  APIs  κλήσεις  χωρίζονται  σε  ενότητες.  Σε 
κάθε ενότητα υπάρχουν πάντα τα αρχεία module, controllers και service. Το αρχείο module 
αφορά  τις  βασικές  ρυθμίσεις  της  ενότητας  ως  προς  τα  αρχεία  που  θα  χρησιμοποιεί  ο 
προγραμματιστής  και  με  ποιες  άλλες  ενότητες  θα  έχει  αλληλοεπίδραση.  Το  αρχείο 
controller αφορά τις κλήσεις των APIs ως προς την διεύθυνση του κάθε API και τον τύπο 
της κλήσης του. Η χρήση του middleware γίνεται στο αρχείο του controller με decorators 
που προσφέρονται από την βιβλιοθήκη, για να ελέγχει την πρόσβαση του χρήστη  ανάλογα 
με τον ρόλο που θα έχει σε κάθε API. Τέλος, στα αρχεία service υπάρχουν όλες οι ενέργειες 
της συνάρτησης του κάθε API όπου αυτά τα αρχεία καλούνται από τους controller. Πέρα 
από τα βασικά αρχεία που χωρίζονται σε φακέλους, μπορούν να χρησιμοποιηθούν και άλλα 
που προσφέρονται από την βιβλιοθήκη. Κάποια από αυτά είναι τα models που περιέχουν 
αρχεία που έχουν συσχέτιση ως προς το αντικείμενο ή προς το σχήμα ενός πίνακα, άλλα 
είναι  τα  dto  (Data  transfer  objects)  που  χρησιμοποιούνται  για  να  προσδιοριστεί  το 
αντικείμενο  που  θα  λάβει  το  API,  τα  guards  που  πραγματοποιούν  ελέγχους  πριν  να 
υλοποιηθεί η συνάρτηση του API που κλήθηκε και άλλα πολλά.