Ενεργοί Δημότες

Περίληψη λειτουργικότητας εφαρμογής: 

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

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

 

Κατηγορίες Χρηστών

Οι χρήστες της εφαρμογής μπορούν να διακριθούν σε τρεις κατηγορίες: τους δημότες, τα συνεργεία/υπηρεσίες δήμου και το Διαχειριστή.

 

  • Δημότες

Οι δημότες της Θεσσαλονίκης έχουν τη δυνατότητα να φωτογραφίζουν ένα συμβάν και να συμπληρώνουν μια περιγραφή που το χαρακτηρίζει.

Γεγονός-Συμβάν: Καταγγελία, Ληστεία, Πυρκαγιά, Τροχαίο, Φυσική Καταστροφή κλπ.

Η εφαρμογή τη στιγμή της αποστολής παίρνει τη φωτογραφία, τις συντεταγμένες από τη συσκευή του χρήστη και την περιγραφή του γεγονότος, και τα αποστέλλει στον κεντρικό server.

 

  • Διαχειριστής

Στο διαχειριστή, μέσω του διαχειστικού περιβάλλοντος της εφαρμογής, εμφανίζονται τα καινούρια γεγονότα που έχουν αποστείλει οι δημότες. Ο διαχειριστής βλέπει όλη την πληροφορία συγκεντρωμένη, δηλαδή τη φωτογραφία και την περιγραφή του γεγονότος, καθώς επίσης και την ακριβή τοποθεσία που φωτογραφήθηκε το συμβάν στο χάρτη (googlemaps). Ο διαχειριστής αποφασίζει εάν και ποιά συνεργεία ή υπηρεσίες του δήμου πρέπει να ενημερωθούν και κρίνει αν πρέπει να ενημερωθούν όλοι οι δημότες ή οι δημότες που βρίσκονται σε κοντινή απόσταση γύρω από το γεγονός/συμβάν.

 

  • Συνεργεία/Υπηρεσίες Δήμου

Τα αρμόδια συνεργεία και οι υπηρεσίες του δήμου ενημερώνονται για τα γεγονότα με στόχο την επίλυση του προβλήματος. Στην περίπτωση, για παράδειγμα, χαλασμένου οδοστρώματος που κάποιος δημότης έχει αναρτήσει,

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

 

Ενημέρωση γεγονότων

Βάσει των επιλογών του διαχειριστή, ενημερώνονται είτε όλοι οι κάτοικοι του δήμου Θεσσαλονίκης είτε ένα μέρος αυτών, ανάλογα με τη χιλιομετρική απόσταση από το συμβάν. Αυτό επιτυγχάνεται με τη δυνατότητα της εφαρμογής να «καταλαβαίνει» πότε μια συσκευή βρίσκεται εντός των επιθυμητών χιλιομετρικών ορίων. Η ενημέρωση γίνεται αυτόματα, με μια ειδοποίηση στη συσκευή - κινητό των δημοτών με τις πληροφορίες, τη φωτογραφία, την περιγραφή και την τοποθεσία του γεγονότος-συμβάντος.

 

Έξτρα παροχές

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

 

Περίληψη λειτουργικότητας εφαρμογής (Αγγλικά): 

The application notifies the citizens of Thessaloniki of the latest news and makes them active citizens, by giving them the possibility to take a picture of an incident that has occured, upload it and thus make it known to others. Examples of  such an incident could be a cultural event, a natural disaster, an accident, a complaint etc.

The goal of this application is to quickly inform the authorities of the municipality and the citizens of the current issues and news and everything that has occured and is worth mentioning.

For example, when a street has been flooded due to water pipe damage, a citizen can take a picture of the scene and upload it. The municipality' s authorities will then be automatically notified and the citizens in the nearby area will be able to avoid a possible accident.

 

User Categories

The users of the application can be divided into three (3) categories: the citizens, the administrators and the municipality services.

 

  • Citizens

The citizens of Thessaloniki can take a picture of an incident and fill in a distinctive description.

Type of Incident: Complaint, robbery, fire, accident, natural disaster, cultural event etc.

The application at the time of the upload takes the picture, the coordinates of the user' s mobile device, the description and sends the data to the main server.

 

  • Administrator

The administrator manages the entries of the data uploaded by the citizens. He has access to full data, the images and descriptions, as well as the exact location where the photo was taken (googlemaps). The administrator desides whether or not municipality' s services should be informed, and which one(s). Moreover, the administrator desides if all citizens should be notified or just those in a specific range around the location where the incident occured.

 

  • Municipality Services

The corresponding departments and municipality services are notified of the incidents in order to take action regarding a specific problem. For example, in the case of a citizen uploading a notification regarding a damage on the road surface in a specific street, the administrator notifies the municipality services that are responsible for the restoration of the specific damage.

 

Notification of incidents

Depending on the decision of the administrator, all or part of the municipality' s citizens are notified of the occurance of an incident, in realtion with their distance (in km) from the location where it occured. This is achieved with the application' s ability to “understand” when a device is within desirable limits (in km). The citizens receive a notification in their mobile device with the corresponding data – the photo, the description and the location where the incident that occured.

 

Extra

The user can be informed of the municipality' s news on affairs regarding social, economical, cultural etc issues/events, as the application serves as a news medium as well, through a pleasant and easy-to-use interface.

 

Τεχνικά χαρακτηριστικά: 

Η εφαρμογή είναι δυαδική, χωρίζεται σε δύο μέρη. Το ένα κομμάτι της είναι στο server και το άλλο σε κάθε android συσκευή που την έχει εγκαταστήσει. Τα δύο αυτά μέρη επικοινωνούν μεταξύ τους μέσω internet.

 

Εφαρμογή στο Server (μέρος 1)

 Η εφαρμογή στο server είναι υλοποιημένη σε PHP με MySQL. Πιο συγκεκριμμένα χρησιμοποιήθηκε PHP v.5.4 με framework Codeigniter.

 

 Σύστημα Χρηστών

Για την εγγραφή νέου χρήστη(δημότη) χρειάζεται ένα email του χρήστη καθώς και password τουλάχιστον 6 χαρακτήρων. Το σύστημα ελέγχει την μοναδικότητα του email αν υπάρχει ήδη ή όχι στη βάση του συστήματος. Τα password κρυπτογραφούνται σε md5 και αποθηκεύονται κρυπτογραφημένα στη βάση.

 

 Ανέβασμα άρθρου

Ο διαχειριστής μπορεί να ανεβάσει ένα καινούριο άρθρο με φωτογραφία, τίτλο, κατηγορία και περιγραφή. Για να υπάρχει λιγότερη μεταφορά δεδομένων  από το server κυρίως προς τις android συσκεύες, οι φωτογραφίες των άρθρων κατά το ανέβασμα γίνονται resize σε μέγεθος 640x480. Στη βάση δεδομένων αποθηκεύεται η διαδρομή του αρχειού(φωτογραφίας) στο server. Οι φωτογραφίες των άρθρων αποθηκεύονται σε μορφή jpg και με ονομασία συνδυασμό την κατηγορία που ανήκει το άρθρο και την ημερομηνία που ανέβηκε.

Έστω ότι ο διαχειριστής ανεβάζει ένα άρθρο που ανήκει στην καταγορία πχ. κοινωνία  με ημερομηνία ανεβάσματος 2014-03-13 13:01:45 τότε η φωτογραφία του άρθρου

θα αποθηκευτεί στο φάκελο /photos/ με όνομα αρχείου c1_2014_03_13_13_01_45.jpg. Η διαδρομή /photos/c1_2014_03_13_13_01_45.jpg θα αποθηκευτεί

στη βάση δεδομένων μαζί με τις υπόλοιπες πληροφορίες του άρθρου.

 

 Ειδοποιήσεις

Όταν καλεί η εφαρμογή της συσκευής το server για να πάρει τις καινούριες ειδοποιήσεις στέλνει μαζί και το id του χρήστη και τις συντεταγμένες της συσκεύης. Υπάρχει στο server διαδικασία που ρωτάει τη βάση για το συγκεκριμμένο id του χρήστη που έλαβε αν είναι δημότης ή κάποιο συνεργείο του δήμου. Έπειτα βάση της ιδιότητας του χρήστη ψάχνει στη βάση τις ειδοποιήσεις που αντιστοιχούν στην ιδιότητα του χρήστη. Εφόσον ολοκληρώσει την αναζήτηση και έχουμε τα αποτελέσματα απο τη βάση, τότε σε επίπεδο php γίνεται έλεγχος για το αν τα συγκεκριμμένες ειδοποιήσεις είναι για ολόκληρη περιοχή του δήμου ή για μια συγκεκριμμένη περιοχή. Αν είναι για συγκεκριμμένη περιοχή τότε η διαδικασία κοιτάει το κέντρο της περιοχής και την ακτίνα της και υπολογίζει αν οι συντεταγμένες που έστειλε η συσκευή ανήκουν στο συγκεκριμμένο χωρίο. Τελικά όσες ειδοποιήσεις αφορούν όλο τον δήμο και όσες αφορούν συγκεκριμμένες περιοχές και μέσα σε αυτές είναι ο χρήστης αποστέλονται στη συσκευή του χρήστη.

 

Android εφαρμογή (μέρος 2)

H android εφαρμογή έχει σχεδιαστεί για android version 3.0 και νεότερη.

 

 Χρήστες

Η εφαρμογή κατά το login επικοινωνεί με το server για να πάρει απάντηση αν επιτρέπεται η όχι ο συγκεκριμμένος  χρήστης να έχει πρόσβαση. Αν επιτρέπεται τότε η εφαρμογή επιτρέπει

την είσοδο στον χρήστη, κρατάει επίσης στη συσκευή σε βάση sqlite τα στοιχεία του χρήστη. Σε επόμενη είσοδο(login) αν ο χρήστης δεν έχει κάνει αποσύνδεση τότε η εφαρμογή έχοντας

τα στοιχεία του στη βάση της τον κάνει αυτόματα login.

 

 Ανέβασμα γεγονότος-συμβάντος

Ο χρήστης(δημότης) όταν δει κάτι που συμβαίνει(τροχαίο, καταστροφή κλπ) το φωτογραφίζει. Η εφαρμογή κάνει resize την φωτογραφία σε διαστάσεις 640x480. Έπειτα ο χρήστης προσθέτει

περιγραφή για το συγκεκριμμένο γεγονός και το αποστέλει. Όταν ο χρήστης πατήσει για να ανέβει η φωτογραφία τότε η εφαρμογή παίρνει τις συντεταγμένες longitude και latitude της συσκευής και τις αποστέλει και αυτές μαζί με τη φωτογραφία και την περιγραφή καθώς και το id του χρήστη που το ανεβάζει. Η εφαρμογή παίρνει τις συντεταγμένες της συσκευής από τρεις διαφορετικές πηγές. Οι πηγές είναι το Gps της συσκευής ή το wifi ή από την κεραία κινητής τηλεφωνίας που στέλνει το σήμα στη συσκευή.

Ανάλογα με τι υπάρχει διαθέσιμο τη στιγμή ανεβάσματος του γεγονότος.

 

 Ειδοποιήσεις

Κάθε 30 δευτερόλεπτα η εφαρμογή επικοινωνεί με το server για να ενημερωθεί με τις καινούριες ειδοποιήσεις(γεγονότα). Η εφαρμογή στέλνει το id του χρήστη μαζί με τις συντενταγμένες της συσκευής την συγκεκριμμένη στιγμή.

 

Επικοινωνία android συσκευής - server (μέρος 3)

Για την επικοινωνία της συσκευής android με το server χρειάζεται να υπάρχει σύνδεση στο διαδύκτιο(internet). Η εφαρμογή της συσκευής καλεί συγκεκριμμένα urls και ο server επιστρέφει δεδομένα σε XML μορφή. 

Αναλυτική παρουσίαση εφαρμογής: 
Άδεια: 
MIT License
Ψηφοφορία: 
4.62892
Average: 4.6 (1722 ψήφοι)