#BioTaxonomy: Οδηγίες χρήσης για προγραμματιστές
##Περιεχόμενα/Λειτουργίες της εφαρμογής
• Wireframes και mockups της εφαρμογής που παρουσιάζουν παραδείγματα λειτουργικότητας σε διάφορα μεγέθη συσκευών.
• Αλγόριθμοι που εξάγουν δεδομένα από τη Wikipedia.
• Σελίδα με δενδροειδές διάγραμμα που παρουσιάζει τα έμβια όντα.
• Αναδυόμενο παράθυρο με τη περίληψη της ταξινομικής βαθμίδας ή του όντος και λίστα με τα πιο σημαντικά μέλη της τάξης.
• Σελίδα με το άρθρο της Wikipedia για κάποιο έμβιο ον και στατιστικά για αυτό.
• Αναζήτηση κάποιου όντος και εμφάνιση είτε του δέντρου στο οποίο ανήκει, είτε της σελίδας με το άρθρο της Wikipedia.
• Δυνατότητα πλοήγησης της εφαρμογής στα αγγλικά και ελληνικά.
• Σελίδα με πληροφορίες για το έργο.
• Responsive εμφάνιση για υπολογιστές, tablet και κινητές συσκευές.
##Σύντομη Τεκμηρίωση
• Τα wireframes δημιουργήθηκαν με το εργαλείο ανοιχτού λογισμικού pencil και αποτέλεσαν τον οδηγό για τη δημιουργία της εφαρμογής.
• Η ληψη των δεδομένων από τη Wikipedia έγινε κάνοντας ajax requests με δύο τρόπους:
o Eκτέλεση SPARQL queries στη βάση της DBpedia για τη δημιουργία του δέντρου, την εύρεση των ταξινομικών βαθμίδων και τη δημιουργία των στατιστικών.
o Xρήση του API της Wikipedia για τη προβολή της περίληψης των όντων και των ταξινομικών βαθμίδων και τη λήψη του άρθρου της Wikipedia.
• Για τη λειτουργία της εφαρμογής δε χρειάζεται κάποια εγκατάσταση αρχείων ή server απλά είναι απαραίτητη η σύνδεση στο διαδίκτυο καθώς τα δεδομένα λαμβάνονται σε πραγματικό χρόνο.
• Η εφαρμογή έχει τη μορφή ιστοσελίδας με βάση το bootstrap framework και αποτελείται από 3 html σελίδες:
o Index.html: Η αρχική σελίδα. Εδώ δημιουργείται το δέντρο με τα όντα. Ο κάθε κόμβος συμβολίζει ένα ον ή το όνομα μιας ταξινομικής βαθμίδας.
o Article.html: Η σελίδα στην οποία ανακατευθύνεται ο χρήστης όταν θέλει να δει αναλυτικές πληροφορίες για κάποιο κόμβο του δέντρου. Εδώ εμφανίζονται τα στατιστικά, και αν ο κόμβος είναι ταξινομική βαθμίδα, όλα τα όντα που είναι μέλη του.
o About.html: Πληροφορίες σχετικά με την εφαρμογή και οδηγός χρήσης.
• Η κύρια λειτουργικότητα της εφαρμογής υλοποιείται με τα παρακάτω αρχεία jquery:
o Tree.js: Συναρτήσεις για τη δημιουργία του δέντρου(σταδιακά και με αναζήτηση) και του αναδυόμενου παράθυρου με τη περίληψη και τα κυριότερα μέλη.
o Queries.js: Τα ερωτήματα για τη λήψη δεδομένων.
o Statistics.js: Δημιουργία στατιστικών.
o Navigation.js: Συναρτήσεις για τη πλοήγηση στην εφαρμογή.
o Languages.js: Συναρτήσεις για τη μετάφραση της εφαρμογής.
• Ο φάκελος plugins περιέχει βιβλιοθήκες jquery ανοιχτού λογισμικού που προσθέτουν επιπλέον δυνατότητες στην εφαρμογή όπως την εμφάνιση διαγράμματος πίτας για τα στατιστικά, lightbox για την εμφάνιση φωτογραφιών, βελτίωση του scrolling κτλ
• Ο φάκελος wikirank περιέχει αρχεία json με τα δεδομένα της wikirank για την εύρεση των σημαντικότερων όντων μιας ταξινομικής βαθμίδας.
• Η αναζήτηση των όντων έχει δύο μορφές:
o Αναζήτηση στη σελίδα του δέντρου: Υπολογίζεται η ταξινομική βαθμίδα του όρου αναζήτησης και δημιουργείται το ανάλογο δέντρο, με πολλαπλή εκτέλεση του αλγορίθμου για τη δημιουργία του δέντρου για κάθε ταξινομική βαθμίδα.
o Αναζήτηση στη σελίδα των άρθρων: Εμφανίζεται το πλήρες άρθρο της Wikipedia για τον όρο αναζήτησης μαζί με τα στατιστικά του.
• Για τη μετάφραση της σελίδας από αγγλικά σε ελληνικά και αντίστροφα η μετάφραση γίνεται με δύο τρόπους, ανάλογα με το αν οι όροι προς μετάφραση είναι στατικοί ή δυναμικοί:
o Στατικοί όροι: Είναι αποθηκευμένοι στο αρχείο languages.js
o Δυναμικοί όροι: Μεταφράζονται με τη χρήση του API της Wikipedia.
• Για τις αισθητικές παρεμβάσεις στην εφαρμογή και το responsive κομμάτι της έγιναν διάφορες προσθήκες/διορθώσεις/media queries στα αρχεία css του bootstrap.
Το πλήρες documentation για τα javascript αρχεία του έργου βρίσκεται στο http://ellak-monades-aristeias.github.io/BioTaxonomy/documentation/ .
Ο κώδικας που δημιουργήθηκε για την παραπάνω υπηρεσία είναι διαθέσιμος στο https://github.com/ellak-monades-aristeias/BioTaxonomy
##Επικοινωνία
- Οποιεσδήποτε βελτιώσεις, τεχνικά προβλήματα και δυσλειτουργίες μπορείτε να τις καταχωρείτε ως issues. Για απορίες κτλ στείλτε e-mail στο [email protected]