{"id":16544448,"url":"https://github.com/nemesis-ft/condivisione-fermi","last_synced_at":"2026-03-06T07:03:41.776Z","repository":{"id":69938143,"uuid":"103829723","full_name":"Nemesis-FT/Condivisione-Fermi","owner":"Nemesis-FT","description":"Peer to peer lesson manager webapp, currently in use @ ITIS Enrico Fermi.","archived":false,"fork":false,"pushed_at":"2021-10-22T08:54:55.000Z","size":1852,"stargazers_count":1,"open_issues_count":5,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-04T09:43:04.561Z","etag":null,"topics":["educational-software","flask-webapp","peer-education","recovery-courses"],"latest_commit_sha":null,"homepage":"https://condivisione.fermi.mo.it/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nemesis-FT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-17T13:10:41.000Z","updated_at":"2022-05-16T09:50:56.000Z","dependencies_parsed_at":"2023-02-24T05:16:05.200Z","dependency_job_id":null,"html_url":"https://github.com/Nemesis-FT/Condivisione-Fermi","commit_stats":{"total_commits":138,"total_committers":2,"mean_commits":69.0,"dds":"0.33333333333333337","last_synced_commit":"02d4c0c10ec9240d8142fde5a2b2a17adc222b8d"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Nemesis-FT/Condivisione-Fermi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nemesis-FT%2FCondivisione-Fermi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nemesis-FT%2FCondivisione-Fermi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nemesis-FT%2FCondivisione-Fermi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nemesis-FT%2FCondivisione-Fermi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nemesis-FT","download_url":"https://codeload.github.com/Nemesis-FT/Condivisione-Fermi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nemesis-FT%2FCondivisione-Fermi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30164904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T04:43:31.446Z","status":"ssl_error","status_checked_at":"2026-03-06T04:40:30.133Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["educational-software","flask-webapp","peer-education","recovery-courses"],"created_at":"2024-10-11T19:02:43.639Z","updated_at":"2026-03-06T07:03:41.750Z","avatar_url":"https://github.com/Nemesis-FT.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![Condivisione-Fermi](/static/Condivisione.png)\n\nUn sito per permettere la pianificazione di ripetizioni gratuite tra studenti.\n\nÈ [attualmente utilizzato](https://condivisione.fermi-mo.gov.it/login) \ndall'[ITIS Enrico Fermi di Modena](https://www.fermi-mo.edu.it/pvw/app/MOIT0016/pvw_sito.php) nelle attività della \nPeer Education. Negli anni, ha aiutato centinaia di studenti gestendo l'erogazione sicura e controllata di videolezioni.\n\n# Caratteristiche principali\n\n* Gestione di corsi di recupero, sia da parte di volontari autorizzati che da parte di docenti.\n* Alte capacità di interazione con gli utenti, sia mediante Telegram che mediante email.\n* Facilmente scalabile ed estendibile a qualsiasi realtà scolastica, a patto che vi sia una pre-esistente struttura di Peer Education presente in loco.\n* Funzionalità di appello: i genitori degli studenti che partecipano alle lezioni vengono sempre informati della presenza (o dell'assenza) dei propri figli.\n\n## Requisiti\n\n- [Git](https://git-scm.com/)\n- [Python 3.6 o superiore](https://www.python.org/downloads/) con `pip` e `venv`\n\n## Installazione\n\n1. _Clona_ questo repository con Git ed entra nella directory creata:  \n   ```bash\n   git clone https://github.com/LBindustries/Condivisione-Fermi\n   cd Condivisione-Fermi\n   ```\n   \n2. Crea un nuovo _venv_ in cui installare pacchetti e attivalo:\n   ```powershell\n   # Su Windows Powershell\n   py -m venv venv\n   ./venv/bin/activate.ps1\n   ```\n   ```bash\n   # Su Linux (Bash)\n   python3 -m venv venv\n   source ./venv/bin/activate\n   ```\n\n3. Installa i pacchetti richiesti all'interno del venv:\n   ```bash\n   pip install -r requirements.txt\n   ```\n   \n4. Crea un file `configurazione.txt` o una variabile di ambiente `SITE_CONFIG` con il seguente contenuto:\n   ```\n   cookiekey|telegramkey|fromemail|gmailusername|gmailpassword|sentrydsn|recaptchapubkey|recaptchasecret|brasamail\n   ```\n   Sostituisci i seguenti parametri con il loro valore corrispondente, rimuovendoli completamente nel caso si voglia \n   lasciare vuoto un parametro opzionale:\n   - `cookiekey`: una chiave segreta sicura che sarà utilizzata per criptare i cookies (puoi usare una stringa casuale di \n     testo di almeno 24 caratteri, oppure generala con `python -c \"import os; print(os.urandom(24))\"`)\n   - `telegramkey`: l'API key di un bot di Telegram ottenuta registrando un bot su [@BotFather](https://t.me/BotFather).\n   - `fromemail`: _(Opzionale)_ Email completa (`example@gmail.com`) di un account [Gmail](gmail.com) usato per inviare email\n   - `gmailusername`: _(Opzionale)_ Username di un account [Gmail](gmail.com) usato per inviare email\n   - `gmailpassword`: _(Opzionale)_ Password di un account [Gmail](gmail.com) usato per inviare email\n   - `sentrydsn`: _(Opzionale)_ Token ottenuto da un'istanza di [Sentry](https://sentry.io/) per il reporting automatico degli errori\n   - `recaptchapubkey`: _(Opzionale)_ Chiave pubblica ottenuta dalla \n     [Admin Console di ReCAPTCHA](https://www.google.com/recaptcha/admin/create)\n   - `recaptchasecret`: _(Opzionale)_ Chiave segreta ottenuta dalla \n     [Admin Console di ReCAPTCHA](https://www.google.com/recaptcha/admin/create)\n   - `brasamail`: _(Opzionale)_ `si` per abilitare l'eliminazione **definitiva** tutti gli account utente registrati\n\n5. Finito! Ora puoi avviare Condivisione-Fermi mentre sei all'interno del _venv_ con:\n   ```bash\n   python server.py\n   ```\n\n## Deployment\n\nCondivisione-Fermi può essere usato con tutte le opzioni di deployment \n[supportate da Flask](https://flask.palletsprojects.com/en/1.1.x/deploying/), ma si suggerisce di utilizzare \n[`apache2` con `mod_wsgi`](https://flask.palletsprojects.com/en/1.1.x/deploying/mod_wsgi/) in quanto essa è la modalità \nattualmente utilizzata dall'ITIS Fermi.\n\nPer ulteriori informazioni relative al deployment, si consiglia di fare riferiemento al [manuale](/docs/Manual.pdf).\n\n## Documentazione\n\nE' disponibile [un manuale (in inglese)](/docs/Manual.pdf) 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).\n\n## Contributi\n\nPer **segnalare bug**, **fare domande** o **richiedere nuove feature**, puoi \n[aprire una issue](https://github.com/LBindustries/Condivisione-Fermi/issues/new) nella pagina progetto di GitHub.\n\n\u003c!--Per segnalare falle di sicurezza cosa bisogna fare? Serve un file SECURITY.md \nhttps://github.com/LBindustries/Condivisione-Fermi/security/policy --\u003e\n\nSe hai sviluppato una **modifica al software**, puoi \n[aprire una pull request](https://github.com/LBindustries/Condivisione-Fermi/pulls) per richiedere di integrarla nel progetto!\n\n\u003c!--\n\n## Copyright\n\nCondivisione-Fermi è rilasciato sotto la licenza GNU LGPLv3. Per ulteriori informazioni riguardo la licenza, fare riferimento al \n[manuale](/docs/Manual.pdf).\n\n--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemesis-ft%2Fcondivisione-fermi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnemesis-ft%2Fcondivisione-fermi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnemesis-ft%2Fcondivisione-fermi/lists"}