MindLab – MediMate

Περιγραφή
Η ομάδα μας η οποία αποτελείται από μαθητές Λυκείου των Online εργαστηρίων του MindLab Education θα ασχοληθεί με την δημιουργία μίας εφαρμογής υποστήριξης ευάλωτων ομάδων. Άνθρωποι μεγαλύτερων ηλικιακών ομάδων συχνά απομονώνονται από την κοινωνία καθώς δυσκολεύονται να χρησιμοποιήσουν τεχνολογίες, συσκευές και εφαρμογές του σήμερα.
Κεντρική ιδέα
Η κεντρική ιδέα της ομάδας μας είναι να δημιουργήσει μία εφαρμογή – γραφικό περιβάλλον η οποία θα βοηθάει ευάλωτες ομάδες και θα βελτιώνει την καθημερινότητα τους. Πρόκειται για έναν ολιστικό βοηθό που παρέχει ασφάλεια, αυτονομία και κοινωνικοποίηση.
Στόχοι
- Δημιουργία εφαρμογής μέσω python με χρήση βιβλιοθήκης KivyMD.
- Γνωριμία σχετικά με τις δυσκολίες που αντιμετωπίζουν οι μεγάλες ηλικίες
- Ενσωμάτωση πληροφοριών και δημιουργία ολοκληρωμένης εφαρμογής.
- Αξιολόγηση του τελικού προγράμματος
Σχεδιασμός-Υλοποίηση
Για την δημιουργία της εφαρμογής «Έξυπνη υπενθύμιση φαρμάκων» χρησιμοποιήθηκε από την ομάδα η βιβλιοθήκη Kivy και η Python 3. Αρχικά πραγματοποιηθηκε ο βασικός σχεδιασμός της εφαρμογής User Interface. Στη συνέχεια, προστέθηκαν τα στοιχεία της εφαρμογής με τρόπο που θα βοηθάνε το χρήση να τα χρησιμοποιήσει. Στην τελική εφαρμογή ο χρήστης μπορεί να δηλώνει τις ώρες που πρέπει να πάρει το κάθε χάπι. Πατώντας ένα κουμπί η εφαρμογή σύμφωνα με την ώρα του απατάει ποιο χάπι πρέπει να πάρει και τις πληροφορίες που σχετίζονται με αυτό.
Λογισμικά που χρησιμοποιήθηκαν:
- Python: Είναι μια δημοφιλής και ευρέως χρησιμοποιούμενη γλώσσα προγραμματισμού, γνωστή για την απλότητά της και την ευανάγνωστη σύνταξή της. Χρησιμοποιήσαμε την Python 3 για να επεξεργαστούμε δεδομένα, να συνδέσουμε το εκπαιδευμένο μοντέλο με πιο προχωρημένες λειτουργίες και να δημιουργήσουμε διαδραστικά σενάρια χρήσης.
- Βιβλιοθήκη Kivy, KivyMD: Είναι ισχυρά εργαλεία (frameworks) της Python, γνωστά για τη δυνατότητα γρήγορης ανάπτυξης διαπλατφορμικών εφαρμογών (cross-platform) και τον σύγχρονο σχεδιασμό γραφικών περιβαλλόντων με βάση το Material Design. Τις χρησιμοποιήσαμε για να κατασκευάσουμε τη γραφική διεπαφή χρήστη (GUI) της εφαρμογής, να ενσωματώσουμε οπτικά τις λειτουργίες του μοντέλου και να προσφέρουμε μια φιλική, άμεση και αισθητικά ευχάριστη εμπειρία στον τελικό χρήστη, ανεξαρτήτως συσκευής (υπολογιστής ή κινητό).
Σχεδιασμός – Υλοποίηση
Για την ευκολότερη υλοποίηση της εφαρμογής, οργανώσαμε την υλοποίηση στα παρακάτω βήματα:
Βήμα 1
Στο πρώτο βήμα, γίνεται η εισαγωγή στα «Λεξικά» της Python. Βλέπουμε πώς να αποθηκεύουμε δεδομένα σε ζεύγη «κλειδιού-τιμής», όπως τα χαρακτηριστικά ενός αυτοκινήτου. Μαθαίνουμε να προσπελάζουμε συγκεκριμένες πληροφορίες, αλλά και πώς να προσθέτουμε δυναμικά νέα στοιχεία, κατανοώντας αυτή τη βασική δομή οργάνωσης δεδομένων.

Βήμα 2
Εδώ φτιάχνουμε μια βασική εφαρμογή υπενθύμισης φαρμάκων στο τερματικό. Δημιουργούμε ένα επαναλαμβανόμενο μενού όπου ο χρήστης μπορεί να ελέγξει, βάσει της τρέχουσας ώρας, αν πρέπει να πάρει κάποιο χάπι ή να αποθηκεύσει μια νέα οδηγία στο σύστημα, κάνοντας χρήση ελέγχων (if) και συναρτήσεων.

Βήμα 3
Κάνουμε το μεγάλο άλμα από το τερματικό στο Γραφικό Περιβάλλον (GUI). Εισάγουμε τη βιβλιοθήκη KivyMD και «χτίζουμε» τα θεμέλια της εφαρμογής μας. Ορίζουμε το βασικό χρώμα (Teal) και δημιουργούμε μια κενή οθόνη. Εδώ προετοιμάζεται ο καμβάς πάνω στον οποίο θα στηθεί η εφαρμογή.

Βήμα 4
Στο τέταρτο βήμα, ρυθμίζουμε το μέγεθος του παραθύρου ώστε να θυμίζει οθόνη κινητού (350×600). Στη συνέχεια, προσθέτουμε το πρώτο μας γραφικό στοιχείο: μια ετικέτα κειμένου (MDLabel) που εμφανίζει το μήνυμα «Γειά σας!» ακριβώς στο κέντρο της οθόνης, χρησιμοποιώντας τις κατάλληλες συντεταγμένες τοποθέτησης.

Βήμα 5
Η εφαρμογή αποκτά ζωή! Προσθέτουμε ένα κεντρικό κουμπί (MDRaisedButton) που, όταν πατηθεί, εκτελεί τη συνάρτηση ελέγχου ώρας διαβάζοντας το ρολόι του συστήματος (datetime). Το κείμενο στην οθόνη σταματά να είναι στατικό και πλέον ενημερώνεται δυναμικά, ενημερώνοντας τον χρήστη για τα φάρμακά του.


Βήμα 6
Στο τελικό βήμα, η εφαρμογή ολοκληρώνεται. Εισάγουμε ένα αιωρούμενο κουμπί (+) που ανοίγει ένα αναδυόμενο παράθυρο (MDDialog). Εκεί, μέσω πεδίων κειμένου (TextFields), ο χρήστης πληκτρολογεί την ώρα και το όνομα του νέου φαρμάκου, αποθηκεύοντας τα δεδομένα δυναμικά και εμπλουτίζοντας τη λίστα της εφαρμογής.



Βήμα 7
Το τελικό αποτέλεσμα.


Για αναλυτικές οδηγίες, τους κώδικες και το πλάνο μαθήματος επισκεφτείτε το αποθετήριο ΕΔΩ
Το βίντεο της ομάδας μπορείτε να το βρείτε ΕΔΩ