Digital Cash Flow Monitor
Digital Cash Flow Monitor - WordPress Plugin for Finance Management
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/mariasiopi/wp-finance-manager/archive/refs/heads/main.zipΈνα προηγμένο, ασφαλές και σύγχρονο WordPress plugin για τη δυναμική παρακολούθηση προϋπολογισμών, συναλλαγών και εξόδων σε πραγματικό χρόνο, χωρίς ανανεώσεις σελίδας. Έχει αναπτυχθεί με Αντικειμενοστρεφή PHP (OOP), custom REST API endpoints και δυναμικά γραφήματα μέσω JavaScript.
🚀 Λειτουργίες & Χαρακτηριστικά
- Πλήρες CRUD REST API: Πλήρης ενσωμάτωση με το WordPress REST API (
GET,POST,PUT,DELETE) για τη διαχείριση συναλλαγών, κατηγοριών και ορίων. - Έξυπνος Έλεγχος Προϋπολογισμού (Business Logic): Αυτόματος υπολογισμός και εμφάνιση προειδοποιητικού μηνύματος (alert) στον χρήστη εάν μια νέα συναλλαγή υπερβαίνει το καθορισμένο εβδομαδιαίο, μηνιαίο ή ετήσιο όριο.
- Διαδραστικά Γραφήματα (Dashboards): Απεικόνιση δεδομένων σε πραγματικό χρόνο με τη χρήση της βιβλιοθήκης
Chart.js(Pie Chart για την κατανομή εξόδων ανά κατηγορία και Bar Chart για το ημερήσιο ιστορικό ροής χρημάτων). - Στιβαρή Αρχιτεκτονική Βάσης Δεδομένων: Custom πίνακες με διασφάλιση της σχεσιακής ακεραιότητας (
FOREIGN KEYμεON DELETE CASCADE) και βελτιστοποιημένα σύνθετα ευρετήρια (composite indexes) για ταχύτατα ερωτήματα φιλτραρίσματος ημερομηνιών. - Υψηλή Ασφάλεια: Έλεγχος δικαιωμάτων σε επίπεδο διακομιστή (server-side capability validation με
manage_options) για όλα τα API αιτήματα και αυστηρός καθαρισμός/διαφυγή δεδομένων (absint,sanitize_text_field,esc_html).
🛠️ Τεχνολογίες & Αρχιτεκτονική
- Backend: PHP 8.1+ (Strict types, Readonly classes), WordPress core functions, custom WPDB wrapper.
- Βάση Δεδομένων: MySQL / MariaDB (Διαχείριση Schema μέσω της
dbDelta). - Frontend: Vanilla JavaScript (ES6+), Fetch API (Ασύγχρονα Requests), Chart.js (v4.0.0), WordPress Nonce Verification.
- Πρότυπο Σχεδίασης: Αρχιτεκτονική προσανατολισμένη στο πρότυπο MVC (Model-View-Controller) με διαχωρισμό της επιχειρηματικής λογικής σε ανεξάρτητους Managers.
💻 Οδηγίες Εγκατάστασης & Ρύθμισης (Τοπικό Περιβάλλον)
Ακολουθήστε τα παρακάτω βήματα για να τρέξετε το project τοπικά στον υπολογιστή σας (χρησιμοποιώντας LocalWP, XAMPP, ή Laragon):
1. Προαπαιτούμενα
- Εγκατάσταση του WordPress (Τοπικό περιβάλλον)
- Έκδοση PHP: 8.1 ή νεότερη (Απαραίτητη λόγω της χρήσης
readonly class)
2. Ενεργοποίηση του Προσθέτου (Plugin)
- Μεταφέρετε τον φάκελο
digital-cash-flow-monitorστον κατάλογο των plugins της τοπικής σας εγκατάστασης:wp-content/plugins/ - Μεταβείτε στο Διαχειριστικό Περιβάλλον του WordPress ➔ Πρόσθετα (Plugins).
- Εντοπίστε το Digital Cash Flow Monitor και επιλέξτε Ενεργοποίηση (Activate).
(Κατά την ενεργοποίηση, εκτελείται αυτόματα το activation hook το οποίο δημιουργεί τους απαραίτητους πίνακες στη βάση δεδομένων:
fin_categories,fin_transactions, καιfin_budgets).
3. Ρύθμιση Μόνιμων Συνδέσμων (ΚΡΙΣΙΜΟ ⚠️)
Επειδή η frontend εφαρμογή επικοινωνεί αποκλειστικά μέσω custom REST API διαδρομών, πρέπει να ανανεώσετε τη δομή των Permalinks του WordPress:
- Μεταβείτε στο μενού Ρυθμίσεις (Settings) ➔ Μόνιμοι Σύνδεσμοι (Permalinks).
- Επιλέξτε τη δομή Όνομα άρθρου (Post name) ή οποιαδήποτε άλλη εκτός της Απλής (Plain).
- Πατήστε Αποθήκευση αλλαγών (Save Changes).
📂 Ανάλυση Δομής Αρχείων
wp-finance-app.php- Το κεντρικό αρχείο εισόδου του plugin. Αρχικοποιεί τις κλάσεις, δημιουργεί το μενού διαχείρισης, φορτώνει τα assets (JS/CSS) και καταχωρεί τα REST API routes.src/models/TransactionManager.php- Διαχειρίζεται τα σύνθετα SQL ερωτήματα των οικονομικών συναλλαγών, την άντληση δεδομένων και το φιλτράρισμα ημερομηνιών.src/models/CategoryManager.php- Υπεύθυνο για τη διαχείριση των κατηγοριών και την αποφυγή διπλοεγγραφών στη βάση.src/models/BudgetManager.php- Η "καρδιά" της επιχειρηματικής λογικής (business logic), η οποία υπολογίζει τα τρέχοντα έξοδα ανά περίοδο και ελέγχει τα όρια.assets/js/dashboard.js- Διαχειρίζεται τους ασύγχρονους event listeners, την επικοινωνία με το API μέσω ασφαλών Nonce headers και την ανανέωση της κατάστασης (state) των γραφημάτων της Chart.js.
👤 Στοιχεία Φοιτητή
- Ονοματεπώνυμο: Σιώπη Μαρία
- Αριθμός Μητρώου: iee2020157
- Τμήμα: Μηχανικών Πληροφορικής και Ηλεκτρονικών Συστημάτων, Διεθνές Πανεπιστήμιο της Ελλάδος (ΔΙΠΑΕ)