Skip to content

eellak/OmniDeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

OmniDeck: WordPress Analytics Dashboard

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

Βασικές Δυνατότητες

  • Centralized Hub: Διαχείριση απεριόριστων WordPress URL από μία οθόνη.
  • Author Tracking: Παρακολούθηση απόδοσης και σχολίων ανά συγγραφέα.
  • Uptime Monitoring: Αυτόματος έλεγχος διαθεσιμότητας (Status UP/DOWN) για κάθε site.
  • Reporting: Εξαγωγή δεδομένων και δημιουργία κοινόχρηστων συνδέσμων (shareable links).

Ανάλυση Συστήματος (System Analysis)

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

1. Λειτουργικές Απαιτήσεις (Functional Requirements)

1. Διαχείριση Λογαριασμού & Ρυθμίσεις

  • 1.1. Ο χρήστης θα μπορεί να δημιουργεί λογαριασμό και να συνδέεται στο σύστημα (Login/Logout). (Υψηλή)
  • 1.2. Ο χρήστης θα μπορεί να καταχωρεί URLs από WordPress ιστοσελίδες στις ρυθμίσεις. Το σύστημα θα ελέγχει την εγκυρότητα του URL. (Υψηλή)
  • 1.3. Το σύστημα θα εμφανίζει λίστα με τα αποθηκευμένα sites, δίνοντας δυνατότητα διαγραφής ή επεξεργασίας. (Υψηλή)

2. Συλλογή & Επεξεργασία Δεδομένων WordPress

  • 2.1. Το σύστημα θα αντλεί αυτόματα τα άρθρα (posts) από τα δηλωμένα WordPress sites για το επιλεγμένο χρονικό διάστημα. (Υψηλή)
  • 2.2. Το σύστημα θα κατηγοριοποιεί τα άρθρα ανά Συγγραφέα (Author) και ανά Ιστοσελίδα (Site), αναγράφοντας αναλυτικά τον τίτλο και την ημερομηνία δημοσίευσης του κάθε άρθρου. (Υψηλή)
  • 2.3 Το σύστημα θα εντοπίζει και θα προβάλλει σε ξεχωριστό πεδίο το τελευταίο δημοσιευμένο άρθρο για κάθε συνδεδεμένη ιστοσελίδα (blog). (Υψηλή)
  • 2.4. Το σύστημα θα αντλεί τα σχόλια (comments) και τις απαντήσεις (replies) αυτών και θα τα συσχετίζει με τον αντίστοιχο συγγραφέα του άρθρου. (Υψηλή)
  • 2.5. Δυνατότητα εμφάνισης συγκεντρωτικών στατιστικών: Συνολικά σχόλια ανά συγγραφέα σε όλα τα sites που διαχειρίζεται. (Μέση)

3. Αναλύσεις & Οπτικοποίηση (Analytics & Visualization)

  • 3.1. Ο χρήστης θα μπορεί να ορίσει χρονικό εύρος αναζήτησης δεδομένων μέσω ημερολογίου (Από [Ημερομηνία] Έως [Ημερομηνία]). (Υψηλή)
  • 3.2. Ο χρήστης θα μπορεί να επιλέξει προκαθορισμένα φίλτρα χρόνου (π.χ. "Τρέχων Μήνας", "Τελευταίες 30 ημέρες", "Προηγούμενο Έτος"). (Μέση)
  • 3.3. Το σύστημα θα παράγει γραφήματα (πίτες, ραβδογράμματα) που θα απεικονίζουν τη συγκριτική απόδοση των άρθρων/αναρτήσεων ανά μήνα. (Χαμηλή - ως μελλοντική επέκταση)
  • 3.4. Ο χρήστης θα μπορεί να εξάγει τις αναφορές και τα στατιστικά σε αρχεία μορφής PDF ή Excel/CSV για offline χρήση. (Μέση)

4. Προβολή & Κοινοποίηση (Dashboard & Sharing)

  • 4.1. Το Dashboard θα παρουσιάζει συγκεντρωτικά τα αποτελέσματα (WordPress) σε ενιαία οθόνη. (Υψηλή)
  • 4.2. Ο χρήστης θα μπορεί να δημιουργεί έναν "Κοινόχρηστο Σύνδεσμο" (Shareable Link) που θα οδηγεί σε μια read-only έκδοση των αποτελεσμάτων του Dashboard. (Μέση)

2. User Stories (Ιστορίες Χρηστών)

  • Ως ιδιοκτήτης των sites, θέλω να μπορώ να εισάγω τα url των WordPress ιστοσελίδων μου στις ρυθμίσεις, έτσι ώστε να συγκεντρώνω όλα τα δεδομένα μου σε ένα σημείο χωρίς να μπαίνω σε κάθε site ξεχωριστά.
  • Ως διαχειριστής περιεχομένου, θέλω να βλέπω συγκεντρωτικά τα σχόλια ανά συγγραφέα και ανά σελίδα, έτσι ώστε να αξιολογώ ποιος συγγραφέας προκαλεί τη μεγαλύτερη αλληλεπίδραση με το κοινό.
  • Ως ιδιοκτήτης, θέλω να βλέπω άμεσα ποιο ήταν το τελευταίο άρθρο που ανέβηκε σε κάθε blog μου, έτσι ώστε να γνωρίζω ποια sites είναι ενεργά και ποια χρειάζονται ανανέωση.
  • Ως χρήστης, θέλω να μπορώ να επιλέγω συγκεκριμένο χρονικό εύρος (π.χ. προηγούμενος μήνας), έτσι ώστε να δημιουργώ μηνιαίες αναφορές προόδου.
  • Ως χρήστης, θέλω να βλέπω γραφήματα και οπτικά στατιστικά αντί για σκέτους αριθμούς, έτσι ώστε να κατανοώ γρηγορότερα τις τάσεις (trends) της επισκεψιμότητας.
  • Ως ιδιοκτήτης, θέλω να βλέπω μια ένδειξη αν κάποιο από τα sites μου είναι "κάτω" (Down), έτσι ώστε να ενεργήσω άμεσα για την επαναλειτουργία του.
  • Ως χρήστης, θέλω να μπορώ να εξάγω τα αποτελέσματα σε PDF ή Excel, έτσι ώστε να τα αρχειοθετώ ή να τα παρουσιάζω σε συνεργάτες εκτός της πλατφόρμας.
  • Ως χρήστης, θέλω να δημιουργώ έναν προσωρινό σύνδεσμο (link) με τα αποτελέσματα, έτσι ώστε να τον στέλνω σε κάποιον συνεργάτη χωρίς να του δίνω τους κωδικούς πρόσβασής μου.

3. Backlog Πληροφοριακού Συστήματος

Οι απαιτήσεις είναι σε Epics (μεγάλες ενότητες εργασίας) και μια εκτίμηση ημερών (Ideal days) και προτεραιότητα MoSCoW (MH=Must Have, SH=Should Have, CH=Could Have).

Epic Story ID Story Description MoSCoW Priority Dependencies Ideal days estimate Sprint
Διαχείριση Χρηστών & Ρυθμίσεις user_mgmt_1 Ο χρήστης μπορεί να κάνει εγγραφή/είσοδο (Login) και να βλέπει το προφίλ του. MH - 2 1
user_mgmt_2 Ο χρήστης εισάγει, επεξεργάζεται και διαγράφει URLs από WordPress sites. MH user_mgmt_1 3 1
Συλλογή Δεδομένων (WordPress) data_col_1 Αυτόματη άντληση άρθρων (posts) μέσω WP API με μεταδεδομένα (Τίτλος, Ημερομηνία) και αποθήκευση. MH user_mgmt_2 4 1
data_col_2 Άντληση σχολίων και απαντήσεων (comments) και συσχέτιση με τους συγγραφείς. MH data_col_1 3 2
data_col_3 Περιοδικός έλεγχος διαθεσιμότητας (Uptime Check) για εντοπισμό "Site Down". SH user_mgmt_2 2 2
Ανάλυση & Dashboard dash_view_1 Κεντρική οθόνη Dashboard: Προβολή συγκεντρωτικών λιστών και τελευταίου άρθρου ανά site. MH data_col_1, data_col_2 4 2
dash_view_2 Λειτουργία Φίλτρων Χρόνου (Custom ημερομηνίες & Presets όπως "Τελευταίος μήνας"). MH dash_view_1 2 3
dash_view_3 Προβολή γραφημάτων (Charts) για την απόδοση άρθρων/σχολίων ανά μήνα. CH dash_view_1 3 3
Εξαγωγή & Διαμοιρασμός share_export_1 Εξαγωγή δεδομένων (Export) σε αρχεία PDF και Excel/CSV. SH dash_view_1 2 3
share_export_2 Δημιουργία Κοινόχρηστου Συνδέσμου (Shareable Link) για read-only πρόσβαση. SH dash_view_1 2 3

Σύνοψη Project (Estimations)

  • Συνολικός Χρόνος: ~27 ημέρες ανάπτυξης (περίπου 1.5 μήνας).
  • Προτεραιότητες (MoSCoW):
    • MH (Must Have): Η καρδιά του συστήματος (Login, WP σύνδεση, Άντληση δεδομένων, Βασικό Dashboard).
    • SH (Should Have): Uptime check, Export, Share Link (λειτουργίες μεγάλης αξίας).
    • CH (Could Have): Γραφήματα (ωραία να υπάρχουν, αλλά το σύστημα δουλεύει και χωρίς αυτά).

4. Ανάλυση Περιπτώσεων Χρήσης (Use Case Analysis).

1. Οι Δρώντες (Actors)

Πρώτα ορίζουμε ποιοι αλληλεπιδρούν με το σύστημα:

  1. Χρήστης (User): Ο ιδιοκτήτης των sites/accounts. Έχει πλήρη πρόσβαση σε όλες τις λειτουργίες (εγγραφή, ρυθμίσεις, προβολή, εξαγωγή).
  2. Επισκέπτης (Visitor): Ο παραλήπτης του κοινόχρηστου συνδέσμου. Έχει πρόσβαση μόνο σε read-only προβολή των αποτελεσμάτων.
  3. Εξωτερικά Συστήματα (External Systems - Secondary Actors):
    • WordPress API: Παρέχει άρθρα και σχόλια.

2. Λεκτικές Περιγραφές (Textual Descriptions)

ΠΧ 1: Εισαγωγή νέου WordPress site και Άντληση Δεδομένων

Βασική Ροή:

  1. Ο χρήστης επιλέγει από το μενού την επιλογή «Ρυθμίσεις Πηγών».
  2. Το σύστημα εμφανίζει τη λίστα με τα συνδεδεμένα sites και το κουμπί «Προσθήκη Νέου».
  3. Ο χρήστης πατάει «Προσθήκη Νέου» και εισάγει το URL της ιστοσελίδας στο πεδίο.
  4. Το σύστημα ελέγχει την εγκυρότητα του URL και αν υπάρχει ενεργό WordPress API.
  5. Το σύστημα αποθηκεύει το site και εμφανίζει μήνυμα επιτυχίας «Το site προστέθηκε επιτυχώς».
  6. Το σύστημα εκκινεί αυτόματα την πρώτη άντληση δεδομένων (άρθρα/σχόλια) για το νέο site.

Εναλλακτική Ροή 1 (Μη έγκυρο URL):

  • 4α. Το σύστημα διαπιστώνει ότι το URL δεν ανταποκρίνεται ή δεν είναι WordPress.
  • 4β. Το σύστημα εμφανίζει μήνυμα σφάλματος «Μη έγκυρο WordPress URL» και ζητά επανεισαγωγή.

ΠΧ 2: Προβολή Dashboard με Φιλτράρισμα

Βασική Ροή:

  1. Ο χρήστης κάνει είσοδο (Log in) στην εφαρμογή.
  2. Το σύστημα ανακτά τα αποθηκευμένα δεδομένα από τη βάση (άρθρα, σχόλια) για τον τρέχοντα μήνα (default).
  3. Το σύστημα εμφανίζει την κεντρική οθόνη (Dashboard) με συγκεντρωτικά νούμερα και τη λίστα των άρθρων ανά συγγραφέα.
  4. Ο χρήστης επιλέγει το ημερολόγιο και ορίζει νέα περίοδο (π.χ. «Προηγούμενο Έτος»).
  5. Το σύστημα ανανεώνει τα αποτελέσματα και τα γραφήματα βάσει της νέας περιόδου.

Εναλλακτική Ροή 1 (Site Down):

  • 2α. Το σύστημα ελέγχει το status των WordPress sites.
  • 2β. Το σύστημα εντοπίζει ότι ένα site δεν απαντάει (Status 500/404).
  • 2γ. Το σύστημα εμφανίζει κόκκινη ένδειξη "DOWN" δίπλα από το όνομα του site στο Dashboard.
  • 2β. Το σύστημα εντοπίζει ότι ένα site δεν απαντάει (Status 500/404).
  • 2γ. Το σύστημα εμφανίζει κόκκινη ένδειξη "DOWN" δίπλα από το όνομα του site στο Dashboard.

About

A central monitor system for multiple WordPress sites

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •