Skip to content

The application is about a system that allows students to enroll in subjects and track the events related to those subjects.

License

Notifications You must be signed in to change notification settings

Nikoreve/adopseWEB

 
 

Repository files navigation

Educator

Σχετικά με εμάς

Το έργο EDUCATOR αναπτύχθηκε στα πλαίσια του μαθήματος Ανάπτυξη Ολοκληρωμένων Πληροφοριακών Συστημάτων από φοιτητές του Τμήματος Μηχανικών Πληροφορικής και Ηλεκτρονικών Συστημάτων του Διεθνούς Πανεπιστημίου Ελλάδος. Στόχος του έργου ήταν η αναβάθμιση μιας σύγχρονης πλατφόρμας εκπαίδευσης με δυνατότητες που θα προσέφεραν μια ολοκληρωμένη και εύχρηστη εφαρμογή για τη διαχείριση των εγγραφών των σπουδαστών, ενώ παράλληλα θα παρείχε προηγμένες λειτουργίες αναζήτησης και αυτοματοποιήσεων.

Τεχνολογίες

Η ομάδα μας έχει επιλέξει και ενσωματώσει προσεκτικά μια σειρά από σύγχρονες τεχνολογίες που εγγυώνται την αξιοπιστία και την επεκτασιμότητα του συστήματός μας. Χρησιμοποιώντας πλατφόρμες και εργαλεία αιχμής, έχουμε διασφαλίσει ότι η εφαρμογή μας μπορεί να διαχειρίζεται με άνεση μεγάλα και πολύπλοκα σύνολα δεδομένων. Οι τεχνολογίες που επιλέξαμε είναι βελτιστοποιημένες για υψηλές επιδόσεις και μπορούν να κλιμακωθούν ανάλογα με τις αυξανόμενες απαιτήσεις χρήσης και δεδομένων. Με γνώμονα την αξιοπιστία, έχουμε ενσωματώσει μηχανισμούς ασφαλείας και ελέγχους που προστατεύουν τα δεδομένα και τη λειτουργία του συστήματος, εξασφαλίζοντας σταθερότητα και ανθεκτικότητα.

Part Technologies
Project Managment Notion
UX/UI Figma
Front-end React js
Back-end ASP .NET

Στάδια της Διαδικασίας Υλοποίησης

Project Management και Οργάνωση Διαδικασιών:

  • Δημιουργία ενός οργανωμένου πλάνου εργασιών με σαφή καθορισμό στόχων και παραδοτέων.
  • Διαμοιρασμός αρμοδιοτήτων σε όλα τα μέλη της ομάδας.
  • Καθορισμός συγκεκριμένων ρόλων για την αποτελεσματική διαχείριση του έργου, όπως project manager, developers, testers, και dev/ops.

Συντονισμός και Έλεγχος της Εξέλιξης των Διαδικασιών:

  • Τακτική παρακολούθηση της προόδου των εργασιών μέσω εργαλείου διαχείρισης έργων (Notion).
  • Συστηματικός έλεγχος της ποιότητας του κώδικα και των παραδοτέων με τη χρήση εργαλείων ελέγχου εκδόσεων (Git) και συνεχούς ενσωμάτωσης (CI/CD).
  • Εφαρμογή πρακτικών Agile, όπως τα εβδομαδιαία meetings, για την διαρκή ενημέρωση της ομάδας και την αντιμετώπιση προβλημάτων.

Επιλογή Κατάλληλων Μέσων Επικοινωνίας:

  • Χρήση του Discord server για άμεση επικοινωνία και συνεργασία μεταξύ των μελών της ομάδας.
  • Εργαλεία επικοινωνίας όπως το Gmail για την ανταλλαγή πληροφοριών και το Google Meet για τις διαδικτυακές συναντήσεις.

Συστηματικά Επαναλαμβανόμενα Meeting:

  • Εβδομαδιαία meetings για την ενημέρωση σχετικά με την πρόοδο και τα προβλήματα που αντιμετωπίζονται.
  • Εβδομαδιαία sprint planning για τον προγραμματισμό των επόμενων βημάτων και την αξιολόγηση της προηγούμενης εργασίας.
  • Αντιμετώπιση έκτακτων προβλημάτων και επίλυση ζητημάτων που προκύπτουν.

Συνεχής Ενημέρωση και Επικοινωνία με την Ομάδα:

  • Διαρκής ενημέρωση όλων των μελών της ομάδας σχετικά με τις αλλαγές, τις βελτιώσεις και τις νέες προκλήσεις που προκύπτουν.
  • Ενεργή συμμετοχή όλων των μελών στις συζητήσεις και τις αποφάσεις που αφορούν την εξέλιξη του έργου.

Βάση Δεδομένων και διαχειριστικό περιβάλλον εφαρμογής:

  • Οι Developers της ομάδας web, ανέλαβαν τη διαχείριση των χρηστών από τη βάση.
  • Αναδιάταξη του πίνακα Students σε Users με πρόσθετα πεδία για τους ρόλους των χρηστών και την κατάσταση του λογαριασμού.
  • Υλοποίηση της διαχείρισης ρόλων και της κατάστασης λογαριασμού (suspend / unsuspend) από τους Admins.
  • Δημιουργία σελίδας Profile για την επεξεργασία των προσωπικών στοιχείων του χρήστη.

Frontend Επεκτάσεις:

  • Επέκταση της σελίδας modules με νέα UI elements, όπως tooltips, προβολή αριθμού και εύρους modules, highlight των keywords, και modal για επεξήγηση του Lucene query.
  • Προσθήκη extra search boxes για αναζήτηση βάσει τίτλου και περιγραφής με τη χρήση Lucene query.
  • Αφαίρεση πλεονάζοντος CSS κώδικα.

Backend Βελτιώσεις:

  • Indexing των modules κατά κατηγορία στο Lucene repository.
  • Φόρτωση του πίνακα USERS με dummy data μέσω του Mockaroo test data generator.

Γέμισμα Περιγραφών:

  • Χρήση του Google Search API και του Mistral AI για τον εμπλουτισμό των περιγραφών των μαθημάτων.
  • Παροχή περιγραφών στα ελληνικά και αγγλικά για βελτίωση της αναζήτησης.
  • Προσαρμογή περιγραφών για παρόμοια μαθήματα με μοναδικό περιεχόμενο.

Λειτουργικότητες Αναζήτησης (Lucene):

  • Απλή αναζήτηση επιστρέφει αποτελέσματα βάσει τίτλου ή περιγραφής.
  • Εξειδικευμένες αναζητήσεις βάσει ονόματος ή περιγραφής μαθήματος.
  • Χρήση operators (AND, OR) για συνδυαστικές αναζητήσεις.

Work Package Calendar:

  • Μεταφορά υλοποίησης 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:

  • Φιλοξενία της εφαρμογής σε server της Amazon από τον dev/ops της ομάδας.
  • Μετάβαση σε υπηρεσίες της MVPS.net για καλύτερη υποστήριξη RAM και αξιοπιστία.
  • Έκθεση του API για την ομάδα του Android και τεκμηρίωση των API calls.

Ασφάλεια και Αντιμετώπιση Επίθεσης:

  • Αντιμετώπιση ransomware attack με κλείσιμο των κενών ασφαλείας και επαναφορά της βάσης δεδομένων από backups.

Τελικές Δοκιμές και Επίλυση Bugs:

  • Καθημερινές δοκιμές και επίλυση των bugs στο staging stage μέχρι την επίτευξη του επιθυμητού αποτελέσματος.

About

The application is about a system that allows students to enroll in subjects and track the events related to those subjects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 45.4%
  • JavaScript 41.4%
  • SCSS 12.1%
  • Other 1.1%