GithubHelp home page GithubHelp logo

aulando.ayy's People

Contributors

filippo-nardin avatar lorenzogas avatar riccardomartinelli avatar

Watchers

 avatar  avatar

aulando.ayy's Issues

Raccolta dati

Creare uno script per raccogliere i dati necessari al funzionamento del bot e salvarli in un db.

Potremmo prendere i dati da easyroom.unitn.it
link utili:

  • La lista dei parametri che possiamo usare per fare le richieste orari aule: link
  • Lista orari aule, docente, polo, ecc: link

Configurazione DialogFlow

In seguito alla creazione di un profilo sul servizio di riconoscimento del linguaggio, è necessaria la configurazione e il training di quest'ultimo.
Aggiunta di entities come aula, professore, polo.
Aggiunta di intents come trova_aula, trova_professore.

V1 DEMO

Interfaccia che permetta di chattare con il bot.
Saranno sviluppate le seguenti funzioni di base:
Quali aule sono libere al momento
Orario per uno specifico corso di studi per il resto della giornata

funzione aule libere al momento

L'utente chiede al bot quale aule sono disponibili al momento.
Il polo può essere fornito in questo momento oppure il bot si ricorda quale frequenta l'utente abitualmente.
E' possibile indicare quante ore si necessitano.

HTD: scrivo, con sintassi e frasi varie, in quale polo e per quali ore mi servono delle aule disponibili --> ricevo una lista di aule libere che dovrebbe conincidere con quelle presenti su https://easyroom.unitn.it/Orario/

Modulo database

Creazione di un modulo per node.js adibito all'interrogazione di un database mysql. Creazione delle diverse funzioni per le diverse chiamate

Telegram bot

Sviluppo di un bot di telegram che utilizza le api di aulando.ayy

L'utente dovrà mandare un messaggio telegram al bot per conoscere le aule libere e i relativi orari.

HTD: posso integrare il bot su telegram attraverso il tag @aulandoayy_bot --> posso interfacciarmi con esso attraverso domande varie --> le risposte devono essere coerenti con quelle ottenute attraverso il portale web di aulando.ayy

Bug brutto

Ho avuto paura.. ora è passato ma il rischio è ancora alto

funzione orario corso di studi

Dato un corso di studi fornire l'orario per uno specifico corso di studi per il resto della giornata o per un qualsiasi altro giorno, in modo che chiunque possa rintracciare le proprie le lezioni senza aver con sè il proprio orario.

HTD: chiedo al bot le lezioni di un determinato giorno per un determinato corso di studi --> ricevo una lista di lezioni con i relativi orari e le relative aule.

Connessione a Api.AI

Il server deve essere in grado di inoltrare le richieste al servizio API.AI e ricevere la risposta

Funzione aula libera dalle alle

Funzione del server che restituisce una lista di aule disponibili in un dato giorno, un dato polo e un intervallo di ore.

HTD: L'utente fornisce un dipartimento, un giorno e due orari che delimitano un determinato intervallo, e il bot restituisce la lista delle aule disponibili. L'input dell'utente può essere del tipo: "Dammi le aule libere a Povo dalle 14 alle 16". I risultati devono essere coerenti con quelli riscontrati su "https://easyroom.unitn.it/Orario/"

Aggiungere parametri in query DB

Specificando dei parametri alternativi il bot risponderá in maniera corretta

HTD: L'utente chiede al bot qualcosa utilizzando dei parametri non gestiti dalla versione 1, esempio chiedere i docenti relativi ad un corso rispetto che ad un dipartimento. --> il bot risponderá correttamente

interface

Dato un utente che vuole usufruire dei servizi fornire un interfaccia grafica semplice da usare che permetta la comunicazione con il bot.

HTD: accedo al sito web --> mi é fornita un interfaccia web con una chat ben visibile e bottoni per l'interazione con essa --> mi è possibile digitare del testo nello chat, navigare il sito con i vari bottoni --> posso comunicare con il bot e informarmi sul progetto.

Documentazioni API

Creare documentazione stardard, tramite apiario, delle api messe a disposizione da Aulando.

gestione parametri e funzioni modulo dialogflow

il modulo dialogflow deve essere in grado di leggere i parametri ricevuti dall'utente e, successivamente, da dialogflow.com scegliendo correttamente la funzione da richiedere al modulo database.

Creazione wiki

Creare la wiki secondo le specifiche elencate sul sito del docente.

Creare homepage delle API

Andrebbe creata una pagina HTML di homepage per la presentazione dell API di aulando, nella quale vengano illustrate le diverse funzioni con i vari parametri. In alternativa si potrebbe creare un oggetto JSON equivalente

Creazione finestra chat

Utilizzando il template e creando style.css creare una finestra che sia utilizzabile come chat da parte dell'utente, che possa vedere i mesaggi, inviare e ricevere

funzione orario segreteria

Specificando il polo e la segreteria il bot mostrerà gli orari.

HTD: L'utente chiede al bot l'orario di una segreteria specificando il polo. --> il bot risponderà con l'orario della segreteria richiesta.

gestione data/ora modulo dialogflow

Gestione corretta dei parametri di tipo time. Il modulo riceve i dati da dialogflow.com e, in base al fatto che siano inizializzati o meno, restituisce due stringhe contenenti il giorno e l'ora corrispondenti alla richiesta dell'utente

features segreta

un piccolo easter egg richiamabile con una parola segreta.

HTD: l'utente, nel suo essere ignaro della natura del nome del bot, digita la parola "ayy"--> il bot risponde con "lmao"

Creazione queries interogazione DB

Vanno create le varie queries per interrogare il database e fornire quindi i dati al client.

HTD: il client pone delle domande al server tramite dei web services, a cui il server risponde con orari e altre informazioni

Documentazione, tipo "time"

C'è un bug che non consente la corretta visualizzazione del tipo "time" o "partial-time" secondo lo standard openApi 3.0.0

Training DialogFlow

Utilizzando il trainer integrato in DataFlow insegno all'ai come interpretare la semantica delle frasi definite nelle user story.

Test API

Test delle funzioni che interrogano il database, più eventuali funzioni ausiliari

Testing DialogFlow

Fase di valutazione e correzione eventuali bug rimasti dopo la fase di training.

Implementare output in formati diversi

Le api devono esporre i diversi dati del dabase in formati differenti, selezionabili dall'utilizzatore delle stesse. Il formato standard è JSON, ma possono essere richiesti formati quali XML.

HTD: il fruitore delle api può specificare un parametro aggiuntivo (XML o JSON) --> il formato dell'output generato è nel formato da me specificato o, se non specificato, JSON

ingresso

accesso da utente V.I.P.

HTD: utente va su pagina login, si registra, inserisce le credenziali corrette, clicca il pulsante fiero. Utente reindirizzato alla pagina profilo dove è visualizzato il suo nome.

funzione ricevimento docente

Funzione che permette di conoscere in quale orario e in che aula è possibile reperire un professore.

HTD: chiedo al bot informazioni riguardo uno specifico prof --> il bot risponde con una lista di orari e aule in cui posso trovarlo

Mockup

mockup dell interfaccia di chat

Creazione modulo dialogflow server

Creazione di un modulo per l'interrogazione del servizio di riconoscimento del linguaggio. Il server si dovrà interfacciare al modulo passando la stringa di testo che l'utente ha dettato. Il modulo risponderà con la funzione da eseguire per soddisfare la richiesta e i parametri necessari alla chiamata di quest'ultima (es. funzione: trova_aula, parametro: id aula = f33f8234rn)

Interviste

Intervistare vari studenti di poli diversi per raccogliere informazioni sulle diverse funzionalità del bot.

Documentazione esempio XML

C'è un bug che non consente agli esempi XML di essere visualizzati secondo lo standard openApi 3.0.0.

Testing

Parte finale della realizzazione.

Creazione di casi di test per la verifica del corretto funzionamento.

Creazione modulo database server

API con cui il server node si interfaccia per poter accedere al database. Essa mette a disposizioni certe specifiche funzioni che permettono l'accesso e la modifica ai dati

Dispatcher lato server

Funzione di backend tramite la quale il server interpreta la risposta del modulo dialogflow e chiama la funzione corretta tramite il modulo database per la risoluzione della richiesta utente.

funzione orario per aula

Data un aula fornire il suo orario della giornata, in modo tale da essere sempre a conoscenza delle lezioni che si terranno nella stessa.

HTD: chiedo al bot l'orario di una determinata aula in una specifica giornata --> il bot risponde elencando le varie lezioni con i corrispettivi orari --> posso confrontare i risultati ottenuti su https://easyroom.unitn.it/Orario/

funzione orario materia

Data una materia fornire l'orario della prossima lezione unito all'aula in cui si terrà.

HTD: L'utente chiede al bot dove si terrà una determinata lezione. Il bot risponderà con l'orario e il luogo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.