Un sito per permettere la pianificazione di ripetizioni gratuite tra studenti.
È attualmente utilizzato dall'ITIS Enrico Fermi di Modena nelle attività della Peer Education. Negli anni, ha aiutato centinaia di studenti gestendo l'erogazione sicura e controllata di videolezioni.
- Gestione di corsi di recupero, sia da parte di volontari autorizzati che da parte di docenti.
- Alte capacità di interazione con gli utenti, sia mediante Telegram che mediante email.
- Facilmente scalabile ed estendibile a qualsiasi realtà scolastica, a patto che vi sia una pre-esistente struttura di Peer Education presente in loco.
- Funzionalità di appello: i genitori degli studenti che partecipano alle lezioni vengono sempre informati della presenza (o dell'assenza) dei propri figli.
- Git
- Python 3.6 o superiore con
pip
evenv
-
Clona questo repository con Git ed entra nella directory creata:
git clone https://github.com/LBindustries/Condivisione-Fermi cd Condivisione-Fermi
-
Crea un nuovo venv in cui installare pacchetti e attivalo:
# Su Windows Powershell py -m venv venv ./venv/bin/activate.ps1
# Su Linux (Bash) python3 -m venv venv source ./venv/bin/activate
-
Installa i pacchetti richiesti all'interno del venv:
pip install -r requirements.txt
-
Crea un file
configurazione.txt
o una variabile di ambienteSITE_CONFIG
con il seguente contenuto:cookiekey|telegramkey|fromemail|gmailusername|gmailpassword|sentrydsn|recaptchapubkey|recaptchasecret|brasamail
Sostituisci i seguenti parametri con il loro valore corrispondente, rimuovendoli completamente nel caso si voglia lasciare vuoto un parametro opzionale:
cookiekey
: una chiave segreta sicura che sarà utilizzata per criptare i cookies (puoi usare una stringa casuale di testo di almeno 24 caratteri, oppure generala conpython -c "import os; print(os.urandom(24))"
)telegramkey
: l'API key di un bot di Telegram ottenuta registrando un bot su @BotFather.fromemail
: (Opzionale) Email completa (example@gmail.com
) di un account Gmail usato per inviare emailgmailusername
: (Opzionale) Username di un account Gmail usato per inviare emailgmailpassword
: (Opzionale) Password di un account Gmail usato per inviare emailsentrydsn
: (Opzionale) Token ottenuto da un'istanza di Sentry per il reporting automatico degli errorirecaptchapubkey
: (Opzionale) Chiave pubblica ottenuta dalla Admin Console di ReCAPTCHArecaptchasecret
: (Opzionale) Chiave segreta ottenuta dalla Admin Console di ReCAPTCHAbrasamail
: (Opzionale)si
per abilitare l'eliminazione definitiva tutti gli account utente registrati
-
Finito! Ora puoi avviare Condivisione-Fermi mentre sei all'interno del venv con:
python server.py
Condivisione-Fermi può essere usato con tutte le opzioni di deployment
supportate da Flask, ma si suggerisce di utilizzare
apache2
con mod_wsgi
in quanto essa è la modalità
attualmente utilizzata dall'ITIS Fermi.
Per ulteriori informazioni relative al deployment, si consiglia di fare riferiemento al manuale.
E' disponibile un manuale (in inglese) per l'utilizzo di Condivisione-Fermi, il quale è diviso in sezioni a seconda del tipo di utente della piattaforma (dall'utente normale, all'amministratore di sistema).
Per segnalare bug, fare domande o richiedere nuove feature, puoi aprire una issue nella pagina progetto di GitHub.
Se hai sviluppato una modifica al software, puoi aprire una pull request per richiedere di integrarla nel progetto!