Code Phoenix : Hackaton Code Rebirth 2024
- Guida all'Installazione e Avvio dell'Applicazione
- Architettura dell'applicazione
- Sequence Diagram
- Documentazione Aggiuntiva
- Un account Together AI
- Python 3.12 o superiore
- Node.js e npm
- Java Development Kit (JDK) 17 o superiore
Oppure Docker e Docker Compose per l'installazione con Docker
- Installa Python 3.12 o superiore dal sito ufficiale di Python
- Installa Node.js e npm dal sito ufficiale di Node.js
- Installa JDK 17 o superiore dal sito ufficiale di Oracle o usando OpenJDK
-
Clona il repository del progetto
-
Naviga nella directory principale del progetto
-
Crea un ambiente virtuale Python:
python -m venv venv source venv/bin/activate # Per Linux/macOS venv\Scripts\activate # Per Windows
-
Installa le dipendenze del backend:
pip install -r requirements.txt
-
Scarica e installa SonarScanner:
- Visita la pagina di download di SonarScanner
- Scarica la versione appropriata per il tuo sistema operativo
- Estrai l'archivio e aggiungi la directory
bin
al tuo PATH di sistema
-
Naviga nella directory tramite
cd ./frontend_react
-
Installa le dipendenze del frontend:
npm install
- Accedi al tuo account Together AI o creane uno nuovo
- Vai alla sezione delle impostazioni del tuo account
- Cerca l'opzione per generare una nuova chiave API
- Copia la chiave API generata
Questo verrà usato per fare inferenza con modelli open source, alternativamente usabili anche in locale.
- Scarica SonarQube Community Edition dal sito ufficiale
- Estrai l'archivio in una directory di tua scelta
- Avvia SonarQube eseguendo lo script appropriato nella directory
bin
dell'installazione di SonarQube:- Per Linux/macOS:
./sonar.sh start
- Per Windows:
StartSonar.bat
- Per Linux/macOS:
Dopo aver avviato l'applicazione e aver visto nel terminale il messaggio SonarQube is operational
, segui questi passaggi per configurare SonarQube:
-
Apri il browser e vai su
http://localhost:9000
-
Accedi con le credenziali predefinite:
- Username:
admin
- Password:
admin
- Username:
-
Segui le istruzioni per cambiare la password al primo accesso
-
Crea un nuovo progetto locale chiamato "project", usando le "global settings"
-
Vai nelle opzione "Locally"
-
Genera un token per questo progetto per l'analisi locale
-
Copia il token generato
-
Apri il file
.env
nella directory principale del progetto -
Aggiungi la seguente riga, sostituendo
<TUO_TOKEN_SONARQUBE>
con il token copiato:SONARQUBE_TOKEN=<TUO_TOKEN_SONARQUBE>
-
Salva e chiudi il file
.env
-
Avvia il backend:
uvicorn app:app --host 0.0.0.0 --port 60000
-
In un nuovo terminale, avvia il frontend:
cd frontend_react npm run dev
Dopo aver configurato SonarQube e riavviato l'applicazione, puoi accedere al frontend dell'applicazione navigando nel tuo browser web a:
http://localhost:3000
Se non hai già Docker installato sul tuo sistema, segui questi passaggi:
- Visita il sito ufficiale di Docker
- Scarica e installa Docker Desktop per il tuo sistema operativo (Windows, macOS, o Linux)
- Segui le istruzioni di installazione fornite per il tuo sistema operativo
Nella directory principale del progetto, esegui il seguente comando per costruire l'immagine Docker:
docker compose build
Questo comando costruirà tutte le immagini Docker necessarie per l'applicazione come specificato nel file docker-compose.yml
.
Una volta completata la costruzione dell'immagine, puoi avviare l'applicazione con il seguente comando:
docker compose up
Questo comando avvierà tutti i servizi definiti nel file docker-compose.yml
.
Dopo aver avviato l'applicazione e aver visto il messaggio SonarQube is operational
, segui questi passaggi per configurare SonarQube:
-
Apri il browser e vai su
http://localhost:9000
-
Accedi con le credenziali predefinite:
- Username:
admin
- Password:
admin
- Username:
-
Segui le istruzioni per cambiare la password al primo accesso
-
Crea un nuovo progetto locale chiamato "project", usando le "global settings"
-
Genera un token per questo progetto per l'analisi locale
-
Copia il token generato
-
Apri il file
.env
nella directory principale del progetto -
Aggiungi la seguente riga, sostituendo
<TUO_TOKEN_SONARQUBE>
con il token copiato:SONARQUBE_TOKEN=<TUO_TOKEN_SONARQUBE>
-
Salva e chiudi il file
.env
Dopo aver configurato SonarQube, per applicare le nuove configurazioni, fermare l'applicazione con Ctrl+C
, poi ricompilarla e riavviarla con il seguente comando:
docker compose build && docker compose up
Per ulteriori informazioni guardare la documentazione al link :
Per ulteriori dettagli sui vari microservizi del progetto, consulta i seguenti documenti:
Ecco la tabella aggiornata con il microservizio di documentazione:
Microservizio | Descrizione | Link alla Documentazione |
---|---|---|
Sistema di Analisi 🔍 | Analisi del codice | Documentazione Analisi |
Sistema di Test 💻 | Test automatici e integrazione continua | Documentazione Test |
Sistema di Scansione ⚡ | Scansione di sicurezza e vulnerabilità | Documentazione Scansione |
Sistema di Refactoring ⚙️ | Refactoring e miglioramento del codice | Documentazione Refactoring |
Sistema di Documentazione 📚 | Generazione di documentazione per il codice refattorizzato | Documentazione Documentazione |