Το OmniDeck είναι ένα κεντρικό σύστημα διαχείρισης και παρακολούθησης πολλαπλών ιστοσελίδων WordPress. Σχεδιάστηκε για ιδιοκτήτες ιστοσελίδων και διαχειριστές περιεχομένου που επιθυμούν να έχουν μια συγκεντρωτική εικόνα της απόδοσης των άρθρων, της δραστηριότητας των συγγραφέων και της αλληλεπίδρασης των χρηστών (σχόλια) από ένα ενιαίο περιβάλλον.
- Centralized Hub: Διαχείριση απεριόριστων WordPress URL από μία οθόνη.
- Author Tracking: Παρακολούθηση απόδοσης και σχολίων ανά συγγραφέα.
- Uptime Monitoring: Αυτόματος έλεγχος διαθεσιμότητας (Status UP/DOWN) για κάθε site.
- Reporting: Εξαγωγή δεδομένων και δημιουργία κοινόχρηστων συνδέσμων (shareable links).
Ακολουθεί η λεπτομερής ανάλυση απαιτήσεων και σχεδιασμού του συστήματος.
- 1.1. Ο χρήστης θα μπορεί να δημιουργεί λογαριασμό και να συνδέεται στο σύστημα (Login/Logout). (Υψηλή)
- 1.2. Ο χρήστης θα μπορεί να καταχωρεί URLs από WordPress ιστοσελίδες στις ρυθμίσεις. Το σύστημα θα ελέγχει την εγκυρότητα του URL. (Υψηλή)
- 1.3. Το σύστημα θα εμφανίζει λίστα με τα αποθηκευμένα sites, δίνοντας δυνατότητα διαγραφής ή επεξεργασίας. (Υψηλή)
- 2.1. Το σύστημα θα αντλεί αυτόματα τα άρθρα (posts) από τα δηλωμένα WordPress sites για το επιλεγμένο χρονικό διάστημα. (Υψηλή)
- 2.2. Το σύστημα θα κατηγοριοποιεί τα άρθρα ανά Συγγραφέα (Author) και ανά Ιστοσελίδα (Site), αναγράφοντας αναλυτικά τον τίτλο και την ημερομηνία δημοσίευσης του κάθε άρθρου. (Υψηλή)
- 2.3 Το σύστημα θα εντοπίζει και θα προβάλλει σε ξεχωριστό πεδίο το τελευταίο δημοσιευμένο άρθρο για κάθε συνδεδεμένη ιστοσελίδα (blog). (Υψηλή)
- 2.4. Το σύστημα θα αντλεί τα σχόλια (comments) και τις απαντήσεις (replies) αυτών και θα τα συσχετίζει με τον αντίστοιχο συγγραφέα του άρθρου. (Υψηλή)
- 2.5. Δυνατότητα εμφάνισης συγκεντρωτικών στατιστικών: Συνολικά σχόλια ανά συγγραφέα σε όλα τα sites που διαχειρίζεται. (Μέση)
- 3.1. Ο χρήστης θα μπορεί να ορίσει χρονικό εύρος αναζήτησης δεδομένων μέσω ημερολογίου (Από [Ημερομηνία] Έως [Ημερομηνία]). (Υψηλή)
- 3.2. Ο χρήστης θα μπορεί να επιλέξει προκαθορισμένα φίλτρα χρόνου (π.χ. "Τρέχων Μήνας", "Τελευταίες 30 ημέρες", "Προηγούμενο Έτος"). (Μέση)
- 3.3. Το σύστημα θα παράγει γραφήματα (πίτες, ραβδογράμματα) που θα απεικονίζουν τη συγκριτική απόδοση των άρθρων/αναρτήσεων ανά μήνα. (Χαμηλή - ως μελλοντική επέκταση)
- 3.4. Ο χρήστης θα μπορεί να εξάγει τις αναφορές και τα στατιστικά σε αρχεία μορφής PDF ή Excel/CSV για offline χρήση. (Μέση)
- 4.1. Το Dashboard θα παρουσιάζει συγκεντρωτικά τα αποτελέσματα (WordPress) σε ενιαία οθόνη. (Υψηλή)
- 4.2. Ο χρήστης θα μπορεί να δημιουργεί έναν "Κοινόχρηστο Σύνδεσμο" (Shareable Link) που θα οδηγεί σε μια read-only έκδοση των αποτελεσμάτων του Dashboard. (Μέση)
- Ως ιδιοκτήτης των sites, θέλω να μπορώ να εισάγω τα url των WordPress ιστοσελίδων μου στις ρυθμίσεις, έτσι ώστε να συγκεντρώνω όλα τα δεδομένα μου σε ένα σημείο χωρίς να μπαίνω σε κάθε site ξεχωριστά.
- Ως διαχειριστής περιεχομένου, θέλω να βλέπω συγκεντρωτικά τα σχόλια ανά συγγραφέα και ανά σελίδα, έτσι ώστε να αξιολογώ ποιος συγγραφέας προκαλεί τη μεγαλύτερη αλληλεπίδραση με το κοινό.
- Ως ιδιοκτήτης, θέλω να βλέπω άμεσα ποιο ήταν το τελευταίο άρθρο που ανέβηκε σε κάθε blog μου, έτσι ώστε να γνωρίζω ποια sites είναι ενεργά και ποια χρειάζονται ανανέωση.
- Ως χρήστης, θέλω να μπορώ να επιλέγω συγκεκριμένο χρονικό εύρος (π.χ. προηγούμενος μήνας), έτσι ώστε να δημιουργώ μηνιαίες αναφορές προόδου.
- Ως χρήστης, θέλω να βλέπω γραφήματα και οπτικά στατιστικά αντί για σκέτους αριθμούς, έτσι ώστε να κατανοώ γρηγορότερα τις τάσεις (trends) της επισκεψιμότητας.
- Ως ιδιοκτήτης, θέλω να βλέπω μια ένδειξη αν κάποιο από τα sites μου είναι "κάτω" (Down), έτσι ώστε να ενεργήσω άμεσα για την επαναλειτουργία του.
- Ως χρήστης, θέλω να μπορώ να εξάγω τα αποτελέσματα σε PDF ή Excel, έτσι ώστε να τα αρχειοθετώ ή να τα παρουσιάζω σε συνεργάτες εκτός της πλατφόρμας.
- Ως χρήστης, θέλω να δημιουργώ έναν προσωρινό σύνδεσμο (link) με τα αποτελέσματα, έτσι ώστε να τον στέλνω σε κάποιον συνεργάτη χωρίς να του δίνω τους κωδικούς πρόσβασής μου.
Οι απαιτήσεις είναι σε 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 |
- Συνολικός Χρόνος: ~27 ημέρες ανάπτυξης (περίπου 1.5 μήνας).
- Προτεραιότητες (MoSCoW):
- MH (Must Have): Η καρδιά του συστήματος (Login, WP σύνδεση, Άντληση δεδομένων, Βασικό Dashboard).
- SH (Should Have): Uptime check, Export, Share Link (λειτουργίες μεγάλης αξίας).
- CH (Could Have): Γραφήματα (ωραία να υπάρχουν, αλλά το σύστημα δουλεύει και χωρίς αυτά).
Πρώτα ορίζουμε ποιοι αλληλεπιδρούν με το σύστημα:
- Χρήστης (User): Ο ιδιοκτήτης των sites/accounts. Έχει πλήρη πρόσβαση σε όλες τις λειτουργίες (εγγραφή, ρυθμίσεις, προβολή, εξαγωγή).
- Επισκέπτης (Visitor): Ο παραλήπτης του κοινόχρηστου συνδέσμου. Έχει πρόσβαση μόνο σε read-only προβολή των αποτελεσμάτων.
- Εξωτερικά Συστήματα (External Systems - Secondary Actors):
- WordPress API: Παρέχει άρθρα και σχόλια.
Βασική Ροή:
- Ο χρήστης επιλέγει από το μενού την επιλογή «Ρυθμίσεις Πηγών».
- Το σύστημα εμφανίζει τη λίστα με τα συνδεδεμένα sites και το κουμπί «Προσθήκη Νέου».
- Ο χρήστης πατάει «Προσθήκη Νέου» και εισάγει το URL της ιστοσελίδας στο πεδίο.
- Το σύστημα ελέγχει την εγκυρότητα του URL και αν υπάρχει ενεργό WordPress API.
- Το σύστημα αποθηκεύει το site και εμφανίζει μήνυμα επιτυχίας «Το site προστέθηκε επιτυχώς».
- Το σύστημα εκκινεί αυτόματα την πρώτη άντληση δεδομένων (άρθρα/σχόλια) για το νέο site.
Εναλλακτική Ροή 1 (Μη έγκυρο URL):
- 4α. Το σύστημα διαπιστώνει ότι το URL δεν ανταποκρίνεται ή δεν είναι WordPress.
- 4β. Το σύστημα εμφανίζει μήνυμα σφάλματος «Μη έγκυρο WordPress URL» και ζητά επανεισαγωγή.
Βασική Ροή:
- Ο χρήστης κάνει είσοδο (Log in) στην εφαρμογή.
- Το σύστημα ανακτά τα αποθηκευμένα δεδομένα από τη βάση (άρθρα, σχόλια) για τον τρέχοντα μήνα (default).
- Το σύστημα εμφανίζει την κεντρική οθόνη (Dashboard) με συγκεντρωτικά νούμερα και τη λίστα των άρθρων ανά συγγραφέα.
- Ο χρήστης επιλέγει το ημερολόγιο και ορίζει νέα περίοδο (π.χ. «Προηγούμενο Έτος»).
- Το σύστημα ανανεώνει τα αποτελέσματα και τα γραφήματα βάσει της νέας περιόδου.
Εναλλακτική Ροή 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.