Skip to content

Crowdhackathon-SmartCity2/GMx2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GMx2

e - Mustoras

ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ

Το e-Mustoras είναι μια κατανεμημένη εφαρμογή, η οποία αφορά στην βέλτιστη εξυπηρέτηση των δημοτών σε δημόσιο και ιδιωτικό επίπεδο. Εξυπηρετεί την άμεση κλήση είτε δημόσιου υπαλλήλου είτε ελεύθερου επαγγελματία με το πάτημα μόνο ενός κουμπιού. Συγκεκριμένα, στην εφαρμογή υπάρχει το feature της αυτόματης αποστολής τοποθεσίας στον επαγγελματία. Ο επαγγελματίας έχει τη δυνατότητα να αποδεχτεί πατώντας του κουμπί επιβεβαίωσης ή να απορρίψει το αίτημα που λαμβάνει αγνοώντας το αίτημα, έχοντας πλήρη γνώση της τοποθεσίας και των στοιχείων του ενδιαφερόμενου.

Το Project είναι υλοποιημένο σε AndroidStudio (χρησιμοποιούσα γλώσσα Java ) και γίνεται διασύνδεση του AndroidStudioProject με βάση δεδομένων, η οποία υλοποιήθηκε στην 3-NF κανονική μορφή σε SQLServer. ToProject αλληλεπιδρά τόσο με τη βάση δεδομένων, όσο και με έναν Server υλοποιημένο σε Java, ο οποίος χειρίζεται τις τοποθεσίες και τις βαθμολογίες των επαγγελματιών, οι οποίες αποθηκεύονται εν συνεχεία στη βάση. Συγκεκριμένα, και ο επαγγελματίας και ο ενδιαφερόμενος αποστέλλουν την τοποθεσία τους στον Server, ώστε ο επαγγελματίας να έχει την ακριβή τοποθεσία του ενδιαφερόμενου στο χάρτη και ο ενδιαφερόμενος να έχει γνώση της τρέχουσας μεταξύ τους απόστασης .

Όσον αφορά την ασφάλεια της εφαρμογής, έχει υλοποιηθεί ένα ελλειπές επίπεδο ασφάλειας σε επίπεδο φιλοξενούσας γλώσσας. Το επίπεδο αυτό, αποτρέπει Injections τα οποία έχουν ώς κέντρο δραστηριότητας την εισαγωγή των credentials. Δεν έχει δοθεί ιδιαίτερη προσοχή στην ασφάλεια, καθώς η εν λόγω εφαρμογή αποτελεί MVP προίον.

ΠΡΟΥΠΟΘΕΣΕΙΣ

Η εφαρμογή από την πλευρά του χρήστη απαιτεί εκχώρηση δικαιωμάτων τοποθεσίας στην εφαρμογή. Δεν υπάρχει εξάρτηση από ήδη υπάρχον λογισμικό, καθώς η εφαρμογή λειτουργεί αυτόνομα. Συνεπώς, το μόνο απαιτούμενο για την εγκατάσταση και λειτουργία του προγράμματος είναι η εγκατάσταση των .apk αρχείων, που αποτελούν τα installationfiles του Android.

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ

Η διαδικασία εγκατάστασης δεν αποκλίνει από την διαδικασία εγκατάστασης των υπόλοιπων εφαρμογών. Απαιτείται λήψη στη συσκευή και εκτέλεση του αρχείου εγκατάστασης, υπό την προυπόθεση ενός πλήρως λειτουργικού Server με σταθερή IPAddress.

Η διαδικασία εγκατάστασης προυποθέτει release της εφαρμογής για να τεθεί σε λειτουργία.

ΕΚΤΕΛΕΣΗ ΕΦΑΡΜΟΓΗΣ

  • Σε επίπεδο δημότη, με την είσοδο στο σύστημα απαιτείται ταυτοποίηση του χρήστη.
  1. Αν ο χρήστης διαθέτει λογαριασμό απλά συμπληρώνει τα στοιχεία του και το σύστημα κάνει direct σε νέα σελίδα για την επιλογή κατηγορίας υπηρεσίας που χρειάζεται
  2. Αν δεν διαθέτει λογαριασμό, απαιτεί υποβολής φόρμας εγγραφής και αναμένει είσοδο των credentials στη Login φόρμα
  3. Αφού ταυτοποιηθεί ο χρήστης, η εφαρμογή αναμένει επιλογή κατηγορίας υπηρεσίας (Δημοτική υπηρεσία, Ιδιωτική υπηρεσία, Εκτακτη Ανάγκη)
  4. Μετά την επιλογή κατηγορίας γίνεται προεπισκόπιση των υπηρεσιών. Κατά την προεπισκόπιση προβάλλεται η απόσταση και η βαθμολογία που έχουν θέσει άλλοι χρήστες (η απόσταση φαίνεται μόνο όταν αναφερόμαστε σε ιδιωτική υπηρεσία)
  5. Ο σχεδιασμός της εφαρμογής δίνει τη δυνατότητα βαθμολογίας της υπηρεσίας στο χρήστη και τη δυνατότητα αποστολής αιτήματος δίνοντας στο Server την τοποθεσία της συσκευής του
  6. Ο χρήστης επιστρέφει στην προηγούμενη σελίδα και μπορεί να επιλέξει άλλη υπηρεσία.
  • Σε επίπεδο επαγγελματία
  1. Η χρήση της εφαρμογής από τον επαγγελματία ξεκινάει με την είσοδο του στο σύστημα, ακολουθώντας την ίδια διαδικασία εισόδου με τον χρήστη μέσω κοινής γραφικής διεπαφής (δεν υπάρχει δυνατότητα εισόδου λόγω της ανάγκης ταυτοποίησης επαγγέλματος από υπηρεσία)
  2. Ο επαγγελματίας δέχεται notification μετά από σταθερά ορισμένο χρόνο από τη στιγμή της κλήσης του από τον δημότη.
  3. Έχει τις επιλογές των κουμπιών pending και userhistory, τα οποία κάνουν επισκόπηση των τρεχώντων requests και του ιστορικού του
  4. Αν επιλέξει pendingrequests γίνεται προβολή των τρεχώντων αιτημάτων
  5. Επίσης, ο επαγγελματίας έχει τη δυνατότητα να κάνει προβολή της τοποθεσίας του χρήστη σε χάρτη
  6. Αν επιλέξει userhistory γίνεται προβολή των ικανοποιημένων αιτημάτων
  7. Επιστρέφει στην προηγούμενη σελίδα και μπορεί να επιλέξει να ικανοποιήσει νέο αίτημα

ΕΛΕΓΧΟΣ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ

Η εφαρμογή έχει ελεγχθεί σε AndroidStudioEmulators όσο και σε SamsungGalaxydevices. Έχει γίνει προσομοίωση λειτουργίας της εφαρμογής για ενδεικτικά στοιχεία περασμένα στη βάση. Έχει περάσει όλα τα λειτουργικά tests και είναι σε θέση να επιλύσει το πρόβλημα για το οποίο σχεδιάστηκε.

Ο τελικός έλεγχος κάποιων μεθόδων έχει γίνει με χρήση του λογισμικού JUnit . Συγκεκριμένα, χρησιμοποιήθηκαν μέθοδοι της κλάσης Assert. Οι μέθοδοι που χρησιμοποιήθηκαν για testing είναι η assertEquals, για συγκρίσεις μεταξύ προσδοκούμενης και πραγματικής τιμής.

Τα αποτελέσματα που επιστράφηκαν μετά τον έλεγχο ήταν τα αναμενόμενα. Παρουσιάστηκαν κάποιες τεχνικές δυσκολίες κατά τον σχεδιασμό του Server, παρόλα αυτά επιτεύχθηκε η βέλτιστη δυνατή υλοποίηση του προιόντος MVP που σχεδιάστηκε με τους περιορισμούς χρόνου και τα τεχνικά προβλήματα που προκλήθηκαν στις εγκαταστάσεις όπου σχεδιάστηκε το λογισμικό.

ΠΡΟΟΠΤΙΚΕΣ ΑΝΑΠΤΥΞΗΣ

Ο κώδικας που παράχθηκε αποτελεί MVP προιόν, συνεπώς έχει προοπτικές εξέλιξης σε μελλοντικό release. Υπάρχει δυνατότητα ενσωμάτωσης button ακυρωσης κράτησης επαγγελματία ώστε να μπορέσει να ακυρώσει ο χρήστης την κράτηση αν αλλάξει γνώμη.

Υπάρχουν αλγόριθμοι που μπορούν να ενσωματωθούν στην εφαρμογή, όπως για παράδειγμα αλγόριθμοι που παραθέτουν τον χρήστη στο σύστημα άλλου δήμου αν βρίσκεται σε δήμο διαφορετικό από τον οποίο ανήκει.

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

VERSIONS

  • 0.1.0 (001): Βασικό concept της ιδέας, υλοποίηση κορμού του application
  • 0.3.1 (Version 2): Πρόσθετα χαρακτηριστικά στο app, αναθεώρηση γραφικών στοιχείων, υλοποίηση server
  • 0.5.1 (Version 3): Επιπρόσθετα χαρακτηριστικά στο app, περαιτέρω αναθεώρηση γραφικών στοιχείων, διορθώσεις στον server

AUTHORS

Το προαναφερθέν προιόν λογισμικού δημιουργήθηκε στα πλαίσια του CrowdhackathonSmartCity 2 2018 από ομάδα προγραμματιστών αποτελούμενη από τους ακόλουθους προγραμματιστές:

  • Μοσχόβης Γεώργιος

Under-graduate student @Athens University of Economics and Business

  • Μπούκας Δημήτριος

Under-graduate student @Athens University of Economics and Business

  • Στεφάνου Δημήτριος

Under-graduate student @Athens University of Economics and Business

  • Παπαγεωργίου Ιωάννης

Under-graduate student @Athens University of Economics and Business

ACKNOWLEDGMENTS

Η υλοποίηση του MVP έγινε με την βοήθεια από sites όπως StackOverflow, Youtube κλπ, που παρείχαν σχετικά tutorials.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages