Ένα σύγχρονο σύστημα διαχείρισης Προγραμμάτων Σχολικών Δραστηριοτήτων για Διευθύνσεις Πρωτοβάθμιας Εκπαίδευσης. Επιτρέπει στις σχολικές μονάδες να υποβάλλουν τα προγράμματά τους ψηφιακά και στους διαχειριστές να τα ελέγχουν, να τα εγκρίνουν και να εκδίδουν αυτόματα βεβαιώσεις υλοποίησης.
- Είσοδος μέσω ΠΣΔ: Ταυτοποίηση χρηστών μέσω του SSO του Πανελληνίου Σχολικού Δικτύου.
- Ψηφιακή Υποβολή: Πλήρης φόρμα καταχώρησης προγράμματος με καρτέλες (Σχολεία, Εκπαιδευτικοί, Πρόγραμμα, Πρόοδος).
- Είσοδος μέσω ΠΣΔ: Ταυτοποίηση χρηστών μέσω του SSO του Πανελληνίου Σχολικού Δικτύου.
- Ψηφιακή Υποβολή: Πλήρης φόρμα καταχώρησης προγράμματος με καρτέλες (Σχολεία, Εκπαιδευτικοί, Πρόγραμμα, Πρόοδος).
- Αυτόματες Βεβαιώσεις σε PDF: Άμεση λήψη επίσημων βεβαιώσεων σε μορφή PDF (με αυτόματη μετατροπή από το πρότυπο
.docx) μετά την έγκριση. - Δημοσίευση στον Κατάλογο: Επιλογή για προβολή του προγράμματος στον δημόσιο κατάλογο, κείμενο παρουσίασης και άμεση μεταφόρτωση έως 8 φωτογραφιών (έως 8MB συνολικά).
- Ιστορικό Αρχείο: Πρόσβαση σε προγράμματα παρελθόντων ετών σε λειτουργία ανάγνωσης.
- Πίνακας Ελέγχου: Συγκεντρωτική εικόνα όλων των υποβληθέντων προγραμμάτων.
- Δυναμικές Παράμετροι: Ρύθμιση σχολικού έτους, κλείδωμα πεδίων και διαχείριση πρωτοκόλλων μέσω UI.
- Ετήσια Αρχειοθέτηση: Αυτόματος μηχανισμός αρχειοθέτησης και προετοιμασίας για το νέο έτος.
- Μαζική Λήψη Βεβαιώσεων σε PDF: Αυτόματη ταχεία (batch) παραγωγή και μετατροπή όλων των εγκεκριμένων βεβαιώσεων σε PDF και λήψη τους σε συμπιεσμένο αρχείο (.zip) με εγγυημένο αυτόματο καθαρισμό προσωρινών αρχείων.
- Εξαγωγή Δεδομένων: Μαζική εξαγωγή στοιχείων σε αρχείο Excel.
- Διαχείριση Καταλόγου: Έγκριση, διόρθωση και διαχείριση των δημοσιευμένων προγραμμάτων και των εικόνων τους.
- Διαδραστική Αναζήτηση: Αναζήτηση προγραμμάτων με βάση το όνομα του σχολείου ή τον τίτλο με ελληνικό, accent-insensitive φιλτράρισμα.
- Σελιδοποίηση (Pagination): Καθαρή παρουσίαση των αποτελεσμάτων σε σελίδες των 9 καρτών.
- Zoom Lightbox Gallery: Προβολή φωτογραφιών του προγράμματος σε πλήρη ανάλυση με διαδραστικό overlay.
- Backend: PHP 7.4+ (MySQLi)
- Database: MariaDB / MySQL
- Frontend: Bootstrap 5, jQuery, DataTables.net, Select2, SweetAlert2
- Integrations & Utilities: phpCAS (SSO), PHPOffice/PHPWord (Document Generation), LibreOffice (Headless DOCX to PDF Conversion)
Ακολουθήστε τα παρακάτω βήματα για να εγκαταστήσετε την εφαρμογή σε περιβάλλον XAMPP ή παρεμφερές.
Αντιγράψτε τα αρχεία του project στον φάκελο htdocs του διακομιστή σας (π.χ. C:\xampp\htdocs\school-programs).
Σημείωση για Ubuntu Server: Εάν κάνετε εγκατάσταση σε διακομιστή Ubuntu, ο ιδιοκτήτης (owner) του φακέλου πρέπει να είναι ο χρήστης administrator και η ομάδα να είναι η www-data. Εκτελέστε τις εξής εντολές:
sudo chown -R administrator:www-data school-programs
sudo chmod 777 files/Η εφαρμογή χρησιμοποιεί το LibreOffice σε headless mode για την αυτόματη μετατροπή των βεβαιώσεων από Word (.docx) σε PDF με πλήρη διατήρηση της μορφοποίησης:
- Ubuntu Server:
sudo apt update && sudo apt install -y libreoffice - Windows / XAMPP:
Κατεβάστε και εγκαταστήστε το LibreOffice (στην προεπιλεγμένη διαδρομή
C:\Program Files\LibreOffice\program\soffice.exe).
Ανοίξτε το τερματικό στον φάκελο του project (π.χ. στο C:\xampp\htdocs\school-programs) και εκτελέστε την παρακάτω εντολή για να εγκαταστήσετε τις απαραίτητες βιβλιοθήκες PHP (όπως phpcas, phpword):
composer install- Ανοίξτε το phpMyAdmin.
- Δημιουργήστε μια νέα βάση δεδομένων με όνομα
school-programs. - Επιλέξτε τη βάση και κάντε Εισαγωγή (Import) το αρχείο:
files/full_schema.sql
Τεχνική Σημείωση (Ιστορικό Αρχείο): Παλαιοί πίνακες αρχείου (π.χ. progs_2014-15) ενδέχεται να χρησιμοποιούν ένα παλαιότερο (legacy) σχήμα βάσης όπου ονοματολογία πεδίων διέφερε (π.χ. title, sch_id). Η εφαρμογή αναγνωρίζει δυναμικά αυτή τη δομή και προσαρμόζει τα ερωτήματα στο index.php. Κάθε νέος πίνακας αρχείου που δημιουργείται πλέον από το UI της εφαρμογής ακολουθεί αυστηρά το σύγχρονο σχήμα.
Μετονομάστε ή αντιγράψτε το αρχείο conf-sample.php σε conf.php. Ανοίξτε το αρχείο conf.php και συμπληρώστε τα στοιχεία της βάσης σας:
$prDbhost = 'localhost';
$prDbname = 'school-programs';
$prDbusername = 'root';
$prDbpassword = '';Δεν απαιτείται να επεξεργαστείτε χειροκίνητα το αρχείο config.json. Αφού συνδεθείτε στο σύστημα με λογαριασμό διαχειριστή, πατήστε το κουμπί Παράμετροι. Από εκεί μπορείτε να ρυθμίσετε μέσα από γραφικό περιβάλλον το τρέχον σχολικό έτος, τα μεταδεδομένα και κλειδώματα, τα οποία θα αποθηκευτούν αυτόματα.
(Προσοχή: Βεβαιωθείτε ότι ο χρήστης www-data έχει δικαιώματα εγγραφής στο αρχείο config.json. Στον Ubuntu server εκτελέστε: sudo chmod 770 config.json)
Η εφαρμογή είναι προ-ρυθμισμένη για χρήση με το sso.sch.gr.
- Αυτόματος εντοπισμός URL: Η εφαρμογή ανιχνεύει αυτόματα τη διεύθυνση URL επιστροφής (service URL) του server σας (υποστηρίζοντας και reverse proxies / SSL-termination).
- Χειροκίνητος ορισμός URL: Αν απαιτείται, μπορείτε να ορίσετε σταθερά τη διεύθυνση URL της εφαρμογής σας μέσω της μεταβλητής
$prCasServiceUrlστοconf.php:$prCasServiceUrl = 'https://srv1-dipe.ira.sch.gr'; // αφήστε κενό ('') για αυτόματο εντοπισμό
- Τοπικές δοκιμές (Debug Mode): Για τοπικές δοκιμές χωρίς σύνδεση στο CAS, ενεργοποιήστε το Debug mode στο
conf.php:$prDebug = 1; // 1 για τοπικές δοκιμές, 0 για παραγωγή
index.php: Η κεντρική σελίδα της εφαρμογής.db.php: Διαχείριση των κλήσεων προς τη βάση δεδομένων (AJAX).exp.php: Παραγωγή και αυτόματη μετατροπή βεβαιώσεων σε PDF για μεμονωμένα προγράμματα.download_all_vev.php: Μαζική παραγωγή, ταχεία (batch) μετατροπή σε PDF και λήψη αρχείου ZIP με αυτόματο καθαρισμό προσωρινών αρχείων.help_catalog.php: Αυτόνομη σελίδα οδηγιών για τη δημοσίευση στον κατάλογο.files/: Περιλαμβάνει τη βάση δεδομένων (full_schema.sql) και το πρότυπο βεβαίωσης (vev_tmpl.docx).vendor/: Βιβλιοθήκες τρίτων (εγκατάσταση μέσω Composer).
Το έργο διατίθεται υπό την άδεια MIT.
(c) 2024, Τμήμα Δ' Πληροφορικής & Νέων Τεχνολογιών, Δ.Π.Ε. Ηρακλείου