Skip to content

Repository files navigation

Προγράμματα Σχολικών Δραστηριοτήτων (School Programs Management)

Version License

Ένα σύγχρονο σύστημα διαχείρισης Προγραμμάτων Σχολικών Δραστηριοτήτων για Διευθύνσεις Πρωτοβάθμιας Εκπαίδευσης. Επιτρέπει στις σχολικές μονάδες να υποβάλλουν τα προγράμματά τους ψηφιακά και στους διαχειριστές να τα ελέγχουν, να τα εγκρίνουν και να εκδίδουν αυτόματα βεβαιώσεις υλοποίησης.

🚀 Χαρακτηριστικά

Για Σχολικές Μονάδες

  • Είσοδος μέσω ΠΣΔ: Ταυτοποίηση χρηστών μέσω του SSO του Πανελληνίου Σχολικού Δικτύου.
  • Ψηφιακή Υποβολή: Πλήρης φόρμα καταχώρησης προγράμματος με καρτέλες (Σχολεία, Εκπαιδευτικοί, Πρόγραμμα, Πρόοδος).

Για Σχολικές Μονάδες

  • Είσοδος μέσω ΠΣΔ: Ταυτοποίηση χρηστών μέσω του SSO του Πανελληνίου Σχολικού Δικτύου.
  • Ψηφιακή Υποβολή: Πλήρης φόρμα καταχώρησης προγράμματος με καρτέλες (Σχολεία, Εκπαιδευτικοί, Πρόγραμμα, Πρόοδος).
  • Αυτόματες Βεβαιώσεις σε PDF: Άμεση λήψη επίσημων βεβαιώσεων σε μορφή PDF (με αυτόματη μετατροπή από το πρότυπο .docx) μετά την έγκριση.
  • Δημοσίευση στον Κατάλογο: Επιλογή για προβολή του προγράμματος στον δημόσιο κατάλογο, κείμενο παρουσίασης και άμεση μεταφόρτωση έως 8 φωτογραφιών (έως 8MB συνολικά).
  • Ιστορικό Αρχείο: Πρόσβαση σε προγράμματα παρελθόντων ετών σε λειτουργία ανάγνωσης.

Για Διαχειριστές (ΔΙ.Π.Ε.)

  • Πίνακας Ελέγχου: Συγκεντρωτική εικόνα όλων των υποβληθέντων προγραμμάτων.
  • Δυναμικές Παράμετροι: Ρύθμιση σχολικού έτους, κλείδωμα πεδίων και διαχείριση πρωτοκόλλων μέσω UI.
  • Ετήσια Αρχειοθέτηση: Αυτόματος μηχανισμός αρχειοθέτησης και προετοιμασίας για το νέο έτος.
  • Μαζική Λήψη Βεβαιώσεων σε PDF: Αυτόματη ταχεία (batch) παραγωγή και μετατροπή όλων των εγκεκριμένων βεβαιώσεων σε PDF και λήψη τους σε συμπιεσμένο αρχείο (.zip) με εγγυημένο αυτόματο καθαρισμό προσωρινών αρχείων.
  • Εξαγωγή Δεδομένων: Μαζική εξαγωγή στοιχείων σε αρχείο Excel.
  • Διαχείριση Καταλόγου: Έγκριση, διόρθωση και διαχείριση των δημοσιευμένων προγραμμάτων και των εικόνων τους.

Δημόσιος Κατάλογος Προγραμμάτων (Public Catalog)

  • Διαδραστική Αναζήτηση: Αναζήτηση προγραμμάτων με βάση το όνομα του σχολείου ή τον τίτλο με ελληνικό, 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 ή παρεμφερές.

1. Προετοιμασία Αρχείων

Αντιγράψτε τα αρχεία του 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/

2. Εγκατάσταση LibreOffice (Για Μετατροπή Βεβαιώσεων σε PDF)

Η εφαρμογή χρησιμοποιεί το 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).

3. Εγκατάσταση Εξαρτήσεων (Composer)

Ανοίξτε το τερματικό στον φάκελο του project (π.χ. στο C:\xampp\htdocs\school-programs) και εκτελέστε την παρακάτω εντολή για να εγκαταστήσετε τις απαραίτητες βιβλιοθήκες PHP (όπως phpcas, phpword):

composer install

4. Βάση Δεδομένων

  1. Ανοίξτε το phpMyAdmin.
  2. Δημιουργήστε μια νέα βάση δεδομένων με όνομα school-programs.
  3. Επιλέξτε τη βάση και κάντε Εισαγωγή (Import) το αρχείο: files/full_schema.sql

Τεχνική Σημείωση (Ιστορικό Αρχείο): Παλαιοί πίνακες αρχείου (π.χ. progs_2014-15) ενδέχεται να χρησιμοποιούν ένα παλαιότερο (legacy) σχήμα βάσης όπου ονοματολογία πεδίων διέφερε (π.χ. title, sch_id). Η εφαρμογή αναγνωρίζει δυναμικά αυτή τη δομή και προσαρμόζει τα ερωτήματα στο index.php. Κάθε νέος πίνακας αρχείου που δημιουργείται πλέον από το UI της εφαρμογής ακολουθεί αυστηρά το σύγχρονο σχήμα.

5. Ρύθμιση Σύνδεσης και Εφαρμογής (conf.php)

Μετονομάστε ή αντιγράψτε το αρχείο conf-sample.php σε conf.php. Ανοίξτε το αρχείο conf.php και συμπληρώστε τα στοιχεία της βάσης σας:

$prDbhost = 'localhost';
$prDbname = 'school-programs';
$prDbusername = 'root';
$prDbpassword = '';

6. Ρύθμιση Παραμέτρων (Metadata)

Δεν απαιτείται να επεξεργαστείτε χειροκίνητα το αρχείο config.json. Αφού συνδεθείτε στο σύστημα με λογαριασμό διαχειριστή, πατήστε το κουμπί Παράμετροι. Από εκεί μπορείτε να ρυθμίσετε μέσα από γραφικό περιβάλλον το τρέχον σχολικό έτος, τα μεταδεδομένα και κλειδώματα, τα οποία θα αποθηκευτούν αυτόματα.

(Προσοχή: Βεβαιωθείτε ότι ο χρήστης www-data έχει δικαιώματα εγγραφής στο αρχείο config.json. Στον Ubuntu server εκτελέστε: sudo chmod 770 config.json)

7. SSO & CAS (ΠΣΔ)

Η εφαρμογή είναι προ-ρυθμισμένη για χρήση με το 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, Τμήμα Δ' Πληροφορικής & Νέων Τεχνολογιών, Δ.Π.Ε. Ηρακλείου

About

A modernized, year-aware school management system for handling activity programs, certificate generation, and annual archiving.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages