Ageing Dashboard

A dashboard for an Ageing World (1800 - 2060)

Programming Language: R
Tech Stack: R + Shiny
Software: dplyr, tidyr, rvest
Dataset: World Bank
Language: 🇬🇧 / 🇬🇷
Status: Online - Running

Εισαγωγή

Η εφαρμογή Ageing Dashboard είναι στη ουσία μία εφαρμογή - ταμπλό (dashboard) που προσπαθεί να απαντήσει στο ερώτημα της γήρανσης του πληθυσμού. Η γήρανση είναι δεδομένη και μία πρόκληση που όλα τα κράτη ήδη αντιμετωπίζουν ή θα κληθούν να δώσουν απαντήσεις στις επόμενες δεκαετίες. Αυτή η εφαρμογή έχει ως στόχο να αναδείξει τον ρυθμό της γήρανσης ιστορικά, αλλά να μελετήσουμε και τις προβλέψεις.

Χαρακτηριστικά

Στην εφαρμογή μπορεί κάποιον να μελετήσει ανά χώρα:

  • Προσδόκιμο ζωής
  • Συνολικός δείκτης γονιμότητας (TFR)
  • Πληθυσμός
  • Μεταβολή προαναφερόμενων τιμών (10ετία, 20ετία, 50ετία)
  • Καθορισμό έτους για να μελετήσω προαναφερόμενες τιμές (από το 1810 εώς και το έτος 2060)
  • Παγκόσμιος χάρτης που δείχνει την διαχρονική και ανά κράτος μεταβολή

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

Τέλος, η εφαρμογή υποστηρίζει σκοτεινή ή φωτεινή λειτουργία, ώστε να επιλέγει ο χρήστης της εφαρμογής τη μορφή που του είναι πιο βολική

Εργαλεία

Όλη η εφαρμογή έχει βασιστεί στη γλώσσα προγραμματισμού R. Πιο συγκεκριμένα, δουλεύω με το Shiny που είναι ο πιο διαδεδομένος τρόπος να δημιουργήσεις εφαρμογή (web-app) στην R. Το Shiny αναλαμβάνει τόσο το frontend, όσο και το backend. Η εμφάνιση της εφαρμογής (frontend) βασίζεται σε απλές εντολές που απλοποιούν την μορφοποίηση της εφαρμογής, αντί να.

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

Φιλοξενία Ιστοσελίδας

Για να γίνει διαθέσιμη η εφαρμογή σε όλους θα έπρεπε να φιλοξενηθεί σε κάποιον διακομιστή (server). Δεδομένης της ερασιτεχνικής χρήσης της δεν κρίνεται απαραίτητη η φιλοξενία της σε κάποιον εξειδικευμένο σέρβερ. Για να μειωθούν τα κόστη διατήρησης της εφαρμογής έχει επιλεγεί το shinyapps.io,

flowchart LR
    User["User <br> <span style='font-size:1em'>(Browser)</span>"]
    Site["Ageing Dashboard  <br> <span style='font-size:1em'>(Web App)</span>"]
    Host["shinyapps.io <br>  <span style='font-size:1em'>(Hosting Platform)</span>"]

    User --> Site --> Host

Μελλοντικά πλάνα

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

  • Οι χώρες δεν εμφανίζονται με αλφαβητική σειρά
  • Τα γραφήματα δείχνουν τα labels ενώ δεν χρειάζεται (γιατί αναφέρεται στον τίτλο της κάρτας)
  • Η εφαρμογή να είναι δίγλωσση (Υποστήριξη ελληνικής γλώσσας)