2025-09-10 11:03:25 +02:00
2025-09-10 11:03:25 +02:00
2025-09-10 11:03:25 +02:00

AVVISO IMPORTANTE

Questo è il ramo di SVILUPPO. È inteso per testare le ultime funzionalità e aiutarmi nello sviluppo. La stabilità e il funzionamento del codice non sono garantiti. Usare a proprio rischio e pericolo.

Orario Scuola

Una piattaforma web per visualizzare gli orari scolastici delle classi, degli insegnanti e dei vari laboratori (se presenti)

Requisiti

  • Server web (consigliati nginx o apache2 per Linux, XAMPP per Windows)
  • PHP 8.0 o successivo (configurato nel tuo server web)
  • Composer
  • MySQL ultima versione

Installazione

  1. Clona la repository e copia la cartella htdocs in una cartella accessibile dal server web
  • Esempio (Debian):
git clone https://git.vichingo455.freeddns.org/emmev-code/orario
cp -r orario/htdocs/* /var/www/html/
  1. Installa composer e le estensioni di php
  • Debian:
sudo apt install -y composer php-cli curl php-mysql php-curl php-mbstring php-xml php-zip
  1. Installa le dipendenze del pannello d'amministrazione
  • Debian:
cd /var/www/orario/admin
composer install
  • Windows (con XAMPP):
cd C:\xampp\htdocs\admin
composer install
  1. (opzionale) Genera una password hashata
  • Debian
cd /var/www/orario/utils
php generate_hash.php <password>
  • Windows:
cd C:\xampp\htdocs\utils
C:\xampp\php\php.exe generate_hash.php <password>
  • Modifica quindi questa linea nel file schema.sql, sostituendo l'hash predefinito con quello generato prima:
VALUES ('admin', '$2y$10$IS9v8CJNJnRXslV1NWDSquAjJ0GgU1sm6spBmGp6mjTLiNApfGcQi'); 
  1. Importa il file schema.sql nel tuo database MySQL
  2. Modifica il file config/config.php inserendo i valori richiesti
  • Esempio file config/config.php:
<?php
// Impostazioni Database
if (!defined('DB_HOST')) {
    define('DB_HOST', 'db');
}
if (!defined('DB_USER')) {
    define('DB_USER', 'orario');
}
if (!defined('DB_PASS')) {
    define('DB_PASS', 'orario');
}
if (!defined('DB_NAME')) {
    define('DB_NAME', 'school_timetable');
}
// Impostazioni sito generali
if (!defined('APP_NAME')) {
    define('APP_NAME', 'Orario Scuola');
}
if (!defined('YEAR')) {
    define('YEAR', '2025/26');
}
// Impostazioni autenticazione dashboard amministrativa
if (!defined('AUTH_TYPE')) {
    define('AUTH_TYPE','local'); // Può essere keycloak o local (integrata)
}
if (!defined('KEYCLOAK_DOMAIN')) {
    define('KEYCLOAK_DOMAIN','');
}
if (!defined('KEYCLOAK_REALM')) {
    define('KEYCLOAK_REALM','');
}
if (!defined('KEYCLOAK_CLIENT_ID')) {
    define('KEYCLOAK_CLIENT_ID','');
}
if (!defined('KEYCLOAK_CLIENT_SECRET')) {
    define('KEYCLOAK_CLIENT_SECRET','');
}
if (!defined('APP_DOMAIN')) {
    define('APP_DOMAIN','');
}
?>
  1. Apri http://localhost e goditi il sito

Installazione con Docker

NOTA: L'installazione con Docker è in fase di sviluppo attivo, quindi potrebbe non funzionare.

  1. Installa Docker
curl -fsSL https://get.docker.com | bash
  1. Compila e crea il container:
git clone https://git.vichingo455.freeddns.org/emmev-code/orario
cd orario
git checkout dev # richiesto per passare alla versione di sviluppo
docker compose up -d --build
  1. Il container dovrebbe diventare disponibile su http://localhost:8080

Per utenti Docker avanzati

Se sei un utente Docker avanzato e vuoi personalizzare puoi modificare la configurazione di docker nei file docker/php/config.php, docker-compose.yml e Dockerfile per adattare tutto al tuo ambiente. Per la maggior parte degli utenti consigliamo di usare la configurazione per Docker predefinita.

Licenza

Orario Scuola, Copyright (C) 2025 EmmeV.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Description
Una piattaforma web per visualizzare gli orari scolastici delle classi, degli insegnanti e dei vari laboratori (se presenti)
Readme 208 KiB
Languages
PHP 64.1%
CSS 35.9%