Skip to content
This repository was archived by the owner on May 5, 2025. It is now read-only.

SweeTenTeam/BuddyBot

Repository files navigation

Continuous Integration Code Coverage

BuddyBot

Scopo del prodotto

L'obiettivo del progetto è la realizzazione di un chatbot sotto forma di Web App atto a fornire un supporto al team di AzzurroDigitale nella gestione delle attività di un progetto in corso di sviluppo. Nella fattispecie, il chatbot utilizza delle API e un modello di LLM per, rispettivamente, reperire informazioni da sistemi esterni utilizzati dall'azienda (più specificatamente, Jira, GitHub e Confluence) e elaborare una risposta. Questa risposta può contenere del semplice testo o un code block. Il chatbot ha una singola sessione per ogni utente, e può essere utilizzato da più utenti contemporaneamente.

Il team è confidente che questo genere di prodotto migliorerà il workflow del team di AzzurroDigitale, riducendo i tempi di risposta e migliorando la qualità del lavoro svolto.

Requisiti hardware

Dato che non sono stati specificati requisiti hardware da capitolato o da progetto, i seguenti requisiti sono stati decisi dal team di sviluppo e sono da considerarsi sufficienti per l'installazione e l'utilizzo del prodotto:

Componente Requisito
CPU 2,5GHz Dual Core o superiore
RAM 8GB DDR4 o superiore
Connessione Connessione ad internet stabile
Sistema Operativo Windows 10 o superiore, Linux, MacOS


Requisiti di browser

Dato che il prodotto è una Web App, è necessario un browser per l'utilizzo. I requisiti di browser sono stati decisi dal team di sviluppo e sono da considerarsi sufficienti per l'installazione e l'utilizzo del prodotto:

Browser Versione
Google Chrome 135.0.7049.42 o superiore
Mozilla Firefox 137.0.1 o superiore
Microsoft Edge 134.0.3124.83 o superiore
Safari 18.3 o superiore


Installazione

In questo paragrafo verrà spiegato come installare il prodotto sulla propria macchina in modo da poterne usufruire in locale. Si ricorda che il progetto è stato concepito per essere consegnato al proponente e che venga fatto operare sui loro server dedicati. L'installazione in locale è da considerarsi un'operazione non necessaria e non richiesta, ma è stata comunque implementata per facilitare lo sviluppo e il testing del prodotto.

Strumenti e tecnologie necessarie

  • Brew se la propria macchina è un sistema UNIX based: un gestore di pacchetti per macOS e Linux, che permette di installare facilmente software e librerie. È possibile installarlo con il comando:
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Choco se la propria macchina è un sistema Windows based: un gestore di pacchetti per Windows, che permette di installare facilmente software e librerie. È possibile installarlo aprendo il terminale in modalità amministratore e copiando il comando:
      @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
  • Docker: un software che permette di eseguire applicazioni in container, isolando le dipendenze e le librerie necessarie per il loro funzionamento. È possibile installarlo con il comando:
      brew install docker
    oppure
      choco install docker-desktop
  • Git: un sistema di controllo versione distribuito, che permette di tenere traccia delle modifiche apportate al codice sorgente. È possibile installarlo con il comando:
      brew install git
    oppure
      choco install git
  • Node.js: un ambiente di esecuzione JavaScript, che permette di eseguire codice JavaScript al di fuori del browser. È possibile installarlo con il comando:
      brew install node
    oppure
      choco install nodejs
  • npm: un gestore di pacchetti per Node.js, che permette di installare facilmente librerie e dipendenze. È incluso nell'installazione di Node.js, quindi non è necessario installarlo separatamente.

Creazione delle API Key

Per utilizzare il prodotto, è necessario creare delle API Key per i servizi esterni utilizzati dal chatbot. Le API Key sono delle chiavi univoche che permettono di autenticarsi e accedere ai servizi esterni. Per creare l'Api key, è necessario creare un account per ogni servizio, e navigare nella pagina dedicata alle API Key nelle impostazioni dell'account. Di seguito sono riportati i link per creare le API Key per i servizi esterni utilizzati dal chatbot:

Installazione del prodotto

Per installare il prodotto, è necessario clonare il repository Git del progetto e installare le dipendenze necessarie. La cartella del prodotto è scaricabile anche in formato .zip da Github e può essere scompattata in una cartella a piacere. In tal caso, non è necessario Git.

Per installare il prodotto, è necessario eseguire i seguenti comandi:

  • Aprire il terminale e navigare nella cartella in cui si desidera installare il prodotto (o navigare nella cartella in cui è stato scompattato il file .zip) con il comando:

      cd /percorso/della/cartella
  • Clonare il repository Git del progetto con il comando (passaggio opzionale se si è scaricato il progetto da GitHub):

      git clone git@github.com:SweeTenTeam/BuddyBot.git
  • Navigare nella cartella del progetto con il comando:

      cd BuddyBot
  • A partire dai file .env.example presenti nella cartella del progetto, è necessario creare i file .env. I file .env contengono le variabili di ambiente necessarie per il corretto funzionamento del prodotto. Per farlo è possibile eseguire il comando:

      cp .env.example .env

    Una volta fatto, basta inserire le API Key create in precedenza nei file .env e il prodotto sarà pronto per essere utilizzato.

    Questo passaggio va ripetuto per ogni microservizio del prodotto.

  • Impostare la repositorye la branch da tracciare nel file .env del microservizio apiGateway;

  • Far partire il container di Docker con il seguente comando se è la prima volta:

      docker-compose up --build

    In caso contrario, è possibile eseguire il comando:

      docker-compose up

    A questo punto, basterà aprire il browser preferito e recarsi all'indirizzo http://localhost:3000 per visualizzare l'applicazione.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 7