Marioegidio / company-assistant

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CompanyAssistant for Azure

In questo periodo legato al Covid-19 molte aziende e professionisti sono stati costretti ad adattarsi allo Smart Working. A causa di questo sono sorte diverse problematiche. Tra queste ci sono quelle legate alla gestione e alla comunicazione interna nelle aziende e problematiche legate alle macchine da adoperare per svolgere il lavoro assegnato. Infatti, molti lavoratori, usufruendo spesso delle macchine disponibili presso l’azienda per svolgere le proprie mansioni, potrebbero riscontrare grossi problemi nel dover utilizzare macchine proprie in quanto, spesso, meno performanti. Inoltre, molte aziende a causa di scarsità di risorse e tempo non potrebbero permettersi di realizzare infrastrutture on-premise. A tal proposito viene proposta una soluzione basata sull’utilizzo di alcuni servizi Cloud offerti da Microsoft Azure.

CompanyAssistant for Azure è una piattaforma web che offre le seguenti funzionalità:

  • Gestione di macchine virtuali. In questo caso l’admin della piattaforma ha la possibilità di creare macchine virtuali adatte alle esigenze dell’azienda e del singolo utente con pochi click. Il tutto restando all’interno della piattaforma, quindi senza interagire con ambienti esterni. Inoltre ha la possibilità di visualizzare lo stato delle macchine e il loro utilizzo.

  • Utilizzo di macchine virtuali tramite desktop remoto. In questo caso l'utente della piattaforma può accedere da remoto alle diverse macchine virtuali assegnate e può sfruttare tutta la potenza di calcolo di queste ultime. Il tutto è possibile anche utilizzando fisicamente una macchina poco performante per accedere alla web app. Inoltre grazie ai cognitive serives di Azure, vengono suggeriti, in modo intelligente, i tag da assegnare alle macchine e le configurazioni ideali in base all'utilizzo.

  • Gestione automatizzata delle problematiche con memorizzazione storico risposte (QnA). La piattaforma prevede una sezione dove ogni utente può condividere le problematiche riscontrare con la relativa soluzione. Qui, un secondo utente può consultare e verificare se un problema riscontrato è già stato risolto da qualche altro collega.




Architettura

drawing




Servizi Azure

  • Virtual Machines: per la creazione di macchine virtuali che saranno utilizzate dagli utenti;

  • App Service, per l'hosting della web app e del bot;

  • Function App, per eseguire alcune attività come la creazione o la cancellazione di macchine virtuali;

  • Bot service, per la creazione del bot di supporto alle problematiche aziendali;

  • QnA Maker, per la gestione automatizzata delle problematiche con memorizzazione storico risposte;

  • LUIS, per i suggerimenti intelligenti dei tag, da assegnare alla macchine virtuali e per i suggeriemnti legati alle configurazioni

  • Azure SQL, per la gestione dei dati persistanti;

  • Event Grid, per catturare e gestire eventi come l'avvenuta creazione di una macchina virtuale;




Requisiti

Bisogna aver installato:




Installazione

1. Installazione risorse azure

  • Esegui il seguente comando
az login
  • Modifica i campi con il commento #Update me nel file azure.sh
  • Esegui il seguente comando nella cartella root
./azure.sh
  • Crea il servizio QnAMaker, la knowledge base e il relativo bot, seguendo la procedura guidata

2. Configurazione LUIS

  • Recati sul portale LUIS

  • Crea un nuovo Azure Cognitive Services Account, selezionando il resource group creato dallo script eseguito in precedenza

drawing
  • Crea una nuova app
drawing
  • Seleziona come Prediction resource la risorsa LUIS creata dallo script
drawing
  • Crea gli Intent in base alle categorie\configurazioni (che andranno inserite anche nel DB) di macchine virtuali da consigliare

3. Configurazione Function App

  • Recati sul portale Azure,accedi al resource group creato, poi accedi alla function app creata dallo script e modifica le costanti, necessarie al funzionamento, che trovi all'inizio di ogni function

4. Popolazione DB

  • Popola il DB, creato dallo script, con il file config/createDB.sql
    • (L'utente inserito di default è di tipo admin. Le credenziali sono admin admin)

5. Configurazione environment

  • Modifica le variabili d'ambiente presenti nel file .env

6. Installazione dipendenze

  • Esegui il seguente comando nella cartella root
npm install




Esecuzione in locale

npm start




Contenuti




Contatti

About

License:GNU Lesser General Public License v2.1


Languages

Language:HTML 49.0%Language:JavaScript 41.8%Language:CSS 5.2%Language:Shell 2.5%Language:TSQL 1.4%