amea
Αρχιτεκτονική & Τεχνολογίες
GAMIFICATION

myEleusis

02.01.22
← Πίσω στα άρθρα

Αρχιτεκτονική & Τεχνολογίες

Το myEleusis.GA είναι μια παιγνιώδης εφαρμογή περιήγησης στον Αρχαιολογικό Χώρο της Ελευσίνας που αναπτύσσεται από την εταιρεία Communications & Information Technologies Experts Α.Ε. (CITE) στο πλαίσιο του έργου myEleusis. Για την ανάπτυξη του myEleusis.GA έχουν χρησιμοποιηθεί σύγχρονες γλώσσες προγραμματισμού και τεχνολογίες, και έχει ακολουθηθεί η αρχιτεκτονική μέθοδος των microservices. Η επιλογή αυτή δημιουργεί ένα αρθρωτό (modular) σύστημα, ικανό να παρέχει δυνατότητες υψηλής διαθεσιμότητας (high availability) και κλιμάκωσης (scalability).

H αρχιτεκτονική του myEleusis.GA παρουσιάζεται παρακάτω:

 

 

Ξεκινώντας από την αποθήκευση των δεδομένων, αυτή γίνεται σε RDMS (MSSQL Server) για τις πληροφορίες authentication / χρηστών, και σε NoSQL Store (MongoDB) για τα δεδομένα των παιχνιδιών. Τα πολυμέσα (media) των παιχνιδιών αποθηκεύονται σε τοπικό σύστημα αρχείων (filesystem).

Στη συνέχεια, οι Backend υπηρεσίες αποτελούνται από τις υπηρεσίες Πιστοποίησης (Authentication), Ειδοποιήσεων (Notification), Διαχείρισης Χρηστών (User Management) και Επιχειρησιακής Λογικής (Business Logic). H επικοινωνία μεταξύ των υπηρεσιών αυτών επιτυγχάνεται με τη χρήση ουράς (RabbitMQ). Όλες οι backend υπηρεσίες προσφέρουν REST API για τη χρήση τους από τους τελικούς χρήστες. Η ανάπτυξη των Backend υπηρεσιών έχει γίνει με τη χρήση της γλώσσας προγραμματισμού C# και το ASP.NET CORE framework.

Τέλος, τo myEleusis.GA έχει δυο διεπαφές χρηστών. Μία εφαρμογή κινητών συσκευών για τους παίκτες των παιχνιδιών και μια εφαρμογή διαδικτύου (web) για τους δημιουργούς των παιχνιδιών. Για την ανάπτυξη της εφαρμογής κινητών συσκευών έχει χρησιμοποιηθεί το React Native framework και η γλώσσα προγραμματισμού TypeScript. Με τον τρόπο αυτό η εφαρμογή θα είναι διαθέσιμη στα λειτουργικά συστήματα Android και iOS. Για την ανάπτυξη της διαχειριστικής εφαρμογής διαδικτύου (web) έχει χρησιμοποιηθεί το Angular framework και η γλώσσα προγραμματισμού TypeScript.