Το έργο EDUCATOR αναπτύχθηκε στα πλαίσια του μαθήματος Ανάπτυξη Ολοκληρωμένων Πληροφοριακών Συστημάτων από φοιτητές του Τμήματος Μηχανικών Πληροφορικής και Ηλεκτρονικών Συστημάτων του Διεθνούς Πανεπιστημίου Ελλάδος. Στόχος του έργου ήταν η αναβάθμιση μιας σύγχρονης πλατφόρμας εκπαίδευσης με δυνατότητες που θα προσέφεραν μια ολοκληρωμένη και εύχρηστη εφαρμογή για τη διαχείριση των εγγραφών των σπουδαστών, ενώ παράλληλα θα παρείχε προηγμένες λειτουργίες αναζήτησης και αυτοματοποιήσεων.
Η ομάδα μας έχει επιλέξει και ενσωματώσει προσεκτικά μια σειρά από σύγχρονες τεχνολογίες που εγγυώνται την αξιοπιστία και την επεκτασιμότητα του συστήματός μας. Χρησιμοποιώντας πλατφόρμες και εργαλεία αιχμής, έχουμε διασφαλίσει ότι η εφαρμογή μας μπορεί να διαχειρίζεται με άνεση μεγάλα και πολύπλοκα σύνολα δεδομένων. Οι τεχνολογίες που επιλέξαμε είναι βελτιστοποιημένες για υψηλές επιδόσεις και μπορούν να κλιμακωθούν ανάλογα με τις αυξανόμενες απαιτήσεις χρήσης και δεδομένων. Με γνώμονα την αξιοπιστία, έχουμε ενσωματώσει μηχανισμούς ασφαλείας και ελέγχους που προστατεύουν τα δεδομένα και τη λειτουργία του συστήματος, εξασφαλίζοντας σταθερότητα και ανθεκτικότητα.
Part | Technologies |
---|---|
Project Managment | Notion |
UX/UI | Figma |
Front-end | React js |
Back-end | ASP .NET |
- Δημιουργία ενός οργανωμένου πλάνου εργασιών με σαφή καθορισμό στόχων και παραδοτέων.
- Διαμοιρασμός αρμοδιοτήτων σε όλα τα μέλη της ομάδας.
- Καθορισμός συγκεκριμένων ρόλων για την αποτελεσματική διαχείριση του έργου, όπως project manager, developers, testers, και dev/ops.
- Τακτική παρακολούθηση της προόδου των εργασιών μέσω εργαλείου διαχείρισης έργων (Notion).
- Συστηματικός έλεγχος της ποιότητας του κώδικα και των παραδοτέων με τη χρήση εργαλείων ελέγχου εκδόσεων (Git) και συνεχούς ενσωμάτωσης (CI/CD).
- Εφαρμογή πρακτικών Agile, όπως τα εβδομαδιαία meetings, για την διαρκή ενημέρωση της ομάδας και την αντιμετώπιση προβλημάτων.
- Χρήση του Discord server για άμεση επικοινωνία και συνεργασία μεταξύ των μελών της ομάδας.
- Εργαλεία επικοινωνίας όπως το Gmail για την ανταλλαγή πληροφοριών και το Google Meet για τις διαδικτυακές συναντήσεις.
- Εβδομαδιαία meetings για την ενημέρωση σχετικά με την πρόοδο και τα προβλήματα που αντιμετωπίζονται.
- Εβδομαδιαία sprint planning για τον προγραμματισμό των επόμενων βημάτων και την αξιολόγηση της προηγούμενης εργασίας.
- Αντιμετώπιση έκτακτων προβλημάτων και επίλυση ζητημάτων που προκύπτουν.
- Διαρκής ενημέρωση όλων των μελών της ομάδας σχετικά με τις αλλαγές, τις βελτιώσεις και τις νέες προκλήσεις που προκύπτουν.
- Ενεργή συμμετοχή όλων των μελών στις συζητήσεις και τις αποφάσεις που αφορούν την εξέλιξη του έργου.
- Οι Developers της ομάδας web, ανέλαβαν τη διαχείριση των χρηστών από τη βάση.
- Αναδιάταξη του πίνακα Students σε Users με πρόσθετα πεδία για τους ρόλους των χρηστών και την κατάσταση του λογαριασμού.
- Υλοποίηση της διαχείρισης ρόλων και της κατάστασης λογαριασμού (suspend / unsuspend) από τους Admins.
- Δημιουργία σελίδας Profile για την επεξεργασία των προσωπικών στοιχείων του χρήστη.
- Επέκταση της σελίδας modules με νέα UI elements, όπως tooltips, προβολή αριθμού και εύρους modules, highlight των keywords, και modal για επεξήγηση του Lucene query.
- Προσθήκη extra search boxes για αναζήτηση βάσει τίτλου και περιγραφής με τη χρήση Lucene query.
- Αφαίρεση πλεονάζοντος CSS κώδικα.
- Indexing των modules κατά κατηγορία στο Lucene repository.
- Φόρτωση του πίνακα USERS με dummy data μέσω του Mockaroo test data generator.
- Χρήση του Google Search API και του Mistral AI για τον εμπλουτισμό των περιγραφών των μαθημάτων.
- Παροχή περιγραφών στα ελληνικά και αγγλικά για βελτίωση της αναζήτησης.
- Προσαρμογή περιγραφών για παρόμοια μαθήματα με μοναδικό περιεχόμενο.
- Απλή αναζήτηση επιστρέφει αποτελέσματα βάσει τίτλου ή περιγραφής.
- Εξειδικευμένες αναζητήσεις βάσει ονόματος ή περιγραφής μαθήματος.
- Χρήση operators (AND, OR) για συνδυαστικές αναζητήσεις.
- Μεταφορά υλοποίησης calendar από frontend σε backend με Google Service Account.
- Συγχρονισμός βάσης δεδομένων με το Google Calendar API χρησιμοποιώντας Scheduler (Quartz .NET) για διαρκή ενημέρωση.
- Βελτιστοποίηση αποθήκευσης events στη βάση δεδομένων.
- Διαφορετικά layouts ανάλογα με τον ρόλο του χρήστη.
- Δημιουργία και διαγραφή calendars από administrators.
- Οπτικοποίηση του calendar layout και επιλογή μαθημάτων για προβολή events.
- Κατά τη διάρκεια του 2ου SPRINT, αντιμετωπίστηκε ο περιορισμός της Google στη δημιουργία νέων calendars.
- Διαχείριση του περιορισμού μέσω προσωρινού admin account για την παρακολούθηση και δημιουργία events.
- Φιλοξενία της εφαρμογής σε server της Amazon από τον dev/ops της ομάδας.
- Μετάβαση σε υπηρεσίες της MVPS.net για καλύτερη υποστήριξη RAM και αξιοπιστία.
- Έκθεση του API για την ομάδα του Android και τεκμηρίωση των API calls.
- Αντιμετώπιση ransomware attack με κλείσιμο των κενών ασφαλείας και επαναφορά της βάσης δεδομένων από backups.
- Καθημερινές δοκιμές και επίλυση των bugs στο staging stage μέχρι την επίτευξη του επιθυμητού αποτελέσματος.