{"id":25689276,"url":"https://github.com/samurai016/ingswproject","last_synced_at":"2026-04-22T09:01:39.267Z","repository":{"id":278004210,"uuid":"766951076","full_name":"Samurai016/ingswproject","owner":"Samurai016","description":"Progetto universitario per il corso di Ingegneria del Software (A.A. 2023/24), volto a supportare lo scambio di prestazioni d’opera senza utilizzo di denaro. Sviluppato nell'ambito del corso di laurea in Ingegneria Informatica.","archived":false,"fork":false,"pushed_at":"2025-07-17T21:39:15.000Z","size":33685,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-18T01:53:57.934Z","etag":null,"topics":["brescia","dii","ingegneria-del-software","ingsw","unibs"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Samurai016.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2024-03-04T12:42:40.000Z","updated_at":"2025-07-17T21:32:07.000Z","dependencies_parsed_at":"2025-02-17T14:22:01.472Z","dependency_job_id":"f1524ae5-18f3-4543-9a95-baf4ae212cbe","html_url":"https://github.com/Samurai016/ingswproject","commit_stats":null,"previous_names":["samurai016/ingswproject"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Samurai016/ingswproject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samurai016%2Fingswproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samurai016%2Fingswproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samurai016%2Fingswproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samurai016%2Fingswproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Samurai016","download_url":"https://codeload.github.com/Samurai016/ingswproject/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samurai016%2Fingswproject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32128704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T08:34:57.708Z","status":"ssl_error","status_checked_at":"2026-04-22T08:34:55.583Z","response_time":58,"last_error":"SSL_read: 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":["brescia","dii","ingegneria-del-software","ingsw","unibs"],"created_at":"2025-02-24T22:00:58.575Z","updated_at":"2026-04-22T09:01:39.237Z","avatar_url":"https://github.com/Samurai016.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(min-width: 769px)\" srcset=\"docs/banner.png\"\u003e\n  \u003csource media=\"(max-width: 768px)\" srcset=\"docs/banner-mobile.png\"\u003e\n  \u003cimg src=\"docs/banner.png\" title=\"Ingegneria del Software - Progetto 2023/24\"\u003e\n\u003c/picture\u003e\n\n# Ingegneria del Software - Progetto 2023/24\n\n![Java](https://img.shields.io/badge/language-Java-brightgreen)\n![Version](https://img.shields.io/github/v/release/Samurai016/ingswproject?label=version)\n\n\nQuesto progetto è stato sviluppato come parte del corso di **Ingegneria del Software** (Anno Accademico 2023/24) ed è volto a supportare lo **scambio di prestazioni d’opera** senza utilizzo di denaro.  \nL'applicazione permette a organizzazioni di gestire categorie di attività scambiabili e supporta un processo incrementale, a partire dalla prima versione che include funzionalità di configurazione.\n\n### [🔗📚 Link al manuale utente](https://github.com/Samurai016/ingswproject/wiki)\n\n### 🎯 Funzionalità chiave \n* **[Versione 1.0.0](https://github.com/Samurai016/ingswproject/releases/tag/v1.0.0)**\n  - Gestione delle gerarchie di categorie.\n  - Configurazione di fattori di conversione tra categorie foglia.\n  - Gestione persistente dei dati.\n  - Interfaccia CLI per configuratori.\n* **[Versione 2.0.0](https://github.com/Samurai016/ingswproject/releases/tag/v2.0.0)**\n  - Interfaccia CLI per fruitori.\n* **[Versione 3.0.0](https://github.com/Samurai016/ingswproject/releases/tag/v3.0.0)**\n  - Possibilità di inserire nuove proposte di scambio per i fruitori.\n* **[Versione 4.0.0](https://github.com/Samurai016/ingswproject/releases/tag/v4.1.4)**\n  - Sistema di chiusura automatico delle proposte di scambio.\n  - Sistema di notifica delle proposte di scambio chiuse ai configuratori.\n  - Visualizzazione avanzate delle proposte.\n  - Possibilità di ritirare le proposte di scambio.\n  - Storico delle modifiche delle proposte di scambio.\n\n## 🚀 Installazione\n\n* Scaricare il file `ingswproject-setup.exe` dalla sezione [Releases](https://github.com/Samurai016/ingswproject/releases/latest).  \n* Eseguire il file di setup e seguire le istruzioni a schermo.\n* Prima di lanciare il programma, assicurarsi di avere configurato la connessione al database.\n  Per fare questo, fare riferimento alla [prossima sezione](#-configurazione-della-connessione-al-database).\n\n### 🔧 Configurazione della connessione al database\nIl programma include uno tool per la configurazione automatica del database.\nLo strumento viene lanciato automaticamente all'avvio del programma, se non è stata ancora configurata una connessione al database.\nIn alternativa, è possibile lanciare lo strumento manualmente eseguendo il comando `ingswproject.exe --dbtool`.\n\nIn ogni caso, nel file di configurazione `application.yaml` disponibile nella cartella `%APPDATA%/ingsw_project` (Windows) o `$HOME/.ingsw_project` (Mac/Linux) è possibile specificare i datasource da utilizzare, seguendo la sintassi supportata da [Ebean ORM](https://ebean.io/docs).  \nIl programma utilizzerà il database di default indicato nel file, se non specificato diversamente utilizzando l'opzione `-db` (vedi [Parametri opzionali](#-parametri-opzionali)).\n\n## 📖 Utilizzo\n\n\n### 📚 Parametri opzionali\nIl programma accetta i seguenti parametri in input opzionali:\n- `-h` o `--help`: Mostra l'elenco dei parametri supportati.\n- `-p` o `--platform`: Specifica il frontend da utilizzare. Valori supportati: `cli` (default).\n- `-db` o `--database`: Specifica il database da utilizzare (nome specificato in `application.yaml`).\n- `-u` o `--username`: Se specificato, insieme al parametro `-pw`, permette di autenticarsi automaticamente al software in fase di avvio.\n- `-pw` o `--password`: Password per l'autenticazione automatica.\n- `-l` o `--language`: Specifica la lingua da utilizzare per l'interfaccia utente (codici ISO 639). Se non specificato oppure se la lingua non è supportata, verrà utilizzata la lingua di sistema.\n- `-v` o `--verbose`: Abilita la modalità di logging avanzata degli errori.\n- `-dbt` o `--dbtool`: Avvia lo strumento di configurazione del database.\n\nEsempio di esecuzione tramite riga di comando:\n```bash\ningswproject.exe -p cli -db my_database -u admin -pw admin -l en -v\n```\n\n## 💡 Requisiti\n\n- **Java** 21 o superiore.\n \nPer lo sviluppo:\n- **Ebean ORM** per la gestione del database.\n- **Maven** per la gestione del progetto.\n\n## 🔍 FAQ\n\nQui troverai le risposte alle domande più frequenti.\nPer ulteriori domande, ti invitiamo ad aprire una nuova [issue](https://github.com/Samurai016/ingswproject/issues/new), specificando il problema riscontrato.\n\n### Mi è apparso l'errore `This application requires a Java Runtime Environment.`\nQuesto errore si verifica quando non è presente una versione di Java installata sul sistema.  \nDi default, l'installer dell'applicazione installa una versione di Java, quindi per prima cosa assicurati di aver installato il programma tramite l'installer ufficiale.  \nSe il problema persiste, segui queste istruzioni:  \n1. Apri la cartella di installazione dell'applicazione.  \n2. Verifica che sia presente la cartella `jre` all'interno della cartella di installazione.  \n3. Se la cartella `jre` non è presente, reinstalla l'applicazione.  \n4. Altrimenti, copia il percorso della cartella `jre` e segui le istruzioni presenti in questo [articolo](https://www.java.com/en/download/help/path.html) per impostare il percorso di Java.  \n  \n### Ho installato Java ma il programma non si avvia.  \nPotrebbe capitare che il programma non riesca a trovare la versione di Java installata sul sistema.  \nPer risolvere il problema, è necessario specificare manualmente il percorso di Java.  \nPer fare questo cerca la cartella di installazione di Java (di solito si trova in `C:\\Program Files\\Java\\` su Windows o `/usr/lib/jvm/` su Linux) e copia il percorso.  \nPoi ti consigliamo di seguire le istruzioni presenti in questo [articolo](https://www.java.com/en/download/help/path.html) per impostare il percorso di Java.  \n  \n### Ogni volta che avvio il programma mi chiede di configurare il database.\nIl programma richiede la configurazione del database quando non rileva una connessione già configurata.  \nPer risolvere il problema, assicurati di aver configurato correttamente il file `application.yaml` e di aver specificato il datasource da utilizzare.  \nLo strumento di configurazione del database ti dirà il file dove è possibile modificare le impostazioni.  \n  \n## 👤 Autori\n\n- **Pierpaolo Bonalda** - [p.bonalda@studenti.unibs.it](mailto:p.bonalda@studenti.unibs.it) - [GitHub](https://github.com/PierpaoloBonalda)\n- **Shpetim Daiu** - [s.daiu@studenti.unibs.it](mailto:s.daiu@studenti.unibs.it) - [GitHub](https://github.com/shpetimdaiu)\n- **Nicolo' Rebaioli** - [n.rebaioli@studenti.unibs.it](mailto:n.rebaioli@studenti.unibs.it) - [GitHub](https://github.com/Samurai016)\n\n## 📄 Licenza\n\nQuesto progetto è concesso in licenza sotto la licenza **GNU General Public License v3.0** - vedi il file [LICENSE](LICENSE) per i dettagli.\n\n---\n\n© 2025 Progetto realizzato per il corso di Ingegneria del Software, corso di laurea in Ing. Informatica, Università degli Studi di Brescia.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamurai016%2Fingswproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamurai016%2Fingswproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamurai016%2Fingswproject/lists"}