cicciotecchio / sharerasmus Goto Github PK
View Code? Open in Web Editor NEWProject of Gestione dei Progetti Software 2018/2019
License: MIT License
Project of Gestione dei Progetti Software 2018/2019
License: MIT License
Describe the bug
Quando si importa il database, vengono restituiti degli errori, per risolverli bisogna eliminare gli apici per ogni drop table if exists.
Mi spiego meglio:
Describe the bug
La build di travis mostra l'output dei console.log che avete effettuato. Siete pregati di rimuovere i vostri console.log dal vostro codice sorgente, per questioni di pulizia e di efficienza.
I PM dovranno ricevere il RAD in data 24/11/18 entro le 18:00.
Il RAD dovrà contenere gli artefatti presenti nel RAD Draft con l'aggiunta della sezione dell'Object Modelling che conterrà:
Alla sezione di Object Modelling dovrà seguire la sezione User inteface che conterrà:
Ricordate che vanno apportate anche modifiche agli artefatti prodotti in passato e che oltre al RAD va anche consegnato il Manuale utente
Describe the bug
Rimuovere index.js con le relative dipendenze presenti in app.js. Quel file serviva solo all'inizio per farvi vedere come funzionavano i router ora non è più necessario quindi eliminatelo anche perchè fa fallire i test di Travis-CI.
Le gestioni sono quattro per ogni gestione va implementato il codice:
Il comando npm i
va lanciato in due casi:
package.json
;package.json
;Il server può essere avviato utilizzando uno di questi due comandi(pre-condizione: aver lanciato la npm i, trovarsi sulla cartella server)
node app.js
, lo svantaggio di questo metodo è il fatto che ogni qualvolta viene effettuata una modifica sul server, il server deve essere riavviato;nodemon app.js
, lanciado il server con questo comando il server effettuarà da solo il riavvio(pre-condizione installare nodemon con il comando npm i -g nodemon
).Un JSON è un oggetto JavaScript infatti JSON sta per JavaScriptObjectNotation. Esso viene dichiarato fra parentesi graffe ed è composto da una chiave(che identifica l'attributo) e un valore(che identifica il valore di quell'attributo) ad esempio l'oggetto Studente è:
{"nome": "Francesco", "cognome": "Vicidomini", "matricola": "051210533"}
I dati inseriti dall’ugente vanno validati due volte la prima lato client usando l’attributo pattern di HTML5 al pattern va assegnata la regexp(descritta nel CS) utile per validare il campo. Gli input vanno validati anche lato server quindi prima di effettuare operazioni che accedono al DB usate gli if else e le regexp per validare i dato che vi sono arrivati.
Per sapere quali codici HTTP usare consulare il seguente link HTTP Code
La funzione console.log(args) è una funzione molto potente però va usata con parsimonia! Essa infatti ci consente di stampare il contenuto di una variabile. Ricordate se usate il console.log() in una pagina html allora la stampa verrà mostrata sulla console da sviluppatore del vostro browser, invece, se usate il console.log in un file .js presente nella cartella server allora la stampa avverrà sulla console di VSCode.
Con il termine struttura di controllo mi riferisco al costrutto
if(condizione){
istruzioni
}else{
istruzioni
}
Al fine di mantenere una branch coverage alta è importante usare questa struttura come è stata descritta sopra è creare dei casi di test che vaglino si il caso in cui la condizione ci permette di entrare nell if sia il caso in cui la condizione ci permette di entrare nell'else.
Le strutture cicliche devono avere una condizione di entrate e una condizione di uscita è severamente vietato l'uso delle istruzioni break e continue, è severamente anche l'uso del while(true).
Nel caso in cui dovete provare una richiesta HTTP non perdete tempo a creare una pagina html solo per provare la richiesta, piuttosto usate Postman che con pochi click vi consente di effettuare una richiesta HTTP
Nel caso in cui ci siano ulteriori dubbi lasciate un commento sotto questa Issue.
Describe the bug
Usando res.statusCode(<codice HTTP>)
viene generato l'errore: Unhandled rejection TypeError: res.send(...).statusCode is not a function
To Reproduce
Expected behavior
Mi aspettavo lo statusCode impostato, invece il codice HTTP restituito era 200.
In questo capitolo vanno specificati i seguenti artefatti:
panoramica del sistema (3.1)
decomposizione in sottosistemi (cap 3.2)
mapping hardware/software (cap 3.3)
gestioni dei dati persistenti con relativo diagramma E-R(cap 3.4.1)
E-R ristrutturato(cap 3.4.2)
schema logico(cap 3.4.3)
struttura delle tabelle(cap 3.4.4)
controllo degli accessi(cap 3.4.5)
tavola dei volumi(cap 3.4.5.1)
tavola delle operazioni(cap 3.4.5.2)
tavola dei volumi(cap 3.4.5.1)
controllo della sicurezza(cap 3.5)
controllo del flusso globale del sistema(cap 3.6)
condizioni boundary(cap 3.7)
avvio del sistema(cap 3.7.1)
terminazione del sistema(cap 3.7.2)
fallimento del sistema(cap 3.7.3)
Per quanto rigurda il come devono essere scritti i contenuti nel documente attenersi agli standard definiti nel file Check List SDD v 3.0.xlsx
Test Case(Cap 14)
Glossario(Cap 15)
Per il contenuto del cap 14 fare riferimento al documento chiamato LIBRA_TP_V_2.0 presente nella cartella esempi passati su OneDrive
Describe the bug
La cartella upload si trova nella root del progetto questo non va bene, upload deve stare sotto la cartella server.
Describe the bug
Ottenere un'immagine dal database e caricarla nell'attributo src può risultare complicato tramite gli screen illustrerò come fare.
How to
Fare la richiesta ajax al route dove si ottengono le informazioni dal database richieste
A seconda delle proprie esigenze adattare il seguente codice. Help3 conterrà l'immagine ottenuta dal database tuttavia non è in un formato adatto da poter essere inserito direttamente in src.
n.b. La mia gestione conteneva diversi tag img e diverse immagini ottenute dal database(array json) per cui ho dovuto utilizzare l'indice i per prendere l'i-esima immagine dal database (data[i]) e caricarla nell'i-esimo tag img (output[i]).
Per qualsiasi dubbio contattatemi.
In quseto task andrete a definire l'intero Object Design Document, fate sempre riferimento all'ODD di Libra caricato nella cartella Documenti passati di OneDrive. Ricordate sempre che dal documento di Libra dovete prendere spunto e non copiarlo palesemente altrimenti i PM si arrabbiano. Un'altra cosa fondamentale da ricordare è che Libra è stato sviluppatto utilizzando JSP e Servlet invece noi sviluppiamo in Node quindi fate gli opportuni aggiustamenti.
Struttura ODD
Sto avendo dei problemi ad implementare la funzionalità di recupero password, ma penso di essere sulla buona strada.
Vorrei ridurre il numero di 'if' dove possibile.
Effettuare i seguenti cambiamenti al db:
P.S Al momento ci sono dei problemi con il db remoto di AWS, quindi effettua queste modifiche in locale dopodichè importa il db che hai modificato in locale su AWS RDS
Describe the bug
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
Questo bug viene lanciato perchè si attende il risultato di una Promise.
To Reproduce
Steps to reproduce the behavior:
npm test
Expected behavior
Il test non avrebbe dovuto lanciare errori
Desktop (please complete the following information):
server
Describe the bug
this.targetKeyField = this.target.rawAttributes[this.targetKey].field || this.
TypeError: Cannot read property 'field' of undefined
Si sta stabilendo una relazione al contrario, penso che sia un problema di foreign-key.
È la riga commentata che vedi nello screenshot sottostante.
La prima cosa da fare prima di cominciare a lavorare è fare la pull da gitKraken, così facendo scaricherete le ultime modifiche effettuate sul progetto e lavorere sulla versione più aggiornata.
Il commit viene effettuato in locale, quando fate una commit gli altri non vedono ancora i cambiamenti che avete effettuato. La push carica i cambiamenti che avete fatto sul repository remoto quindi quando qualcun altro effettuerà la pull scaricherà i vostri cambiamenti.
Il commit deve contenere sempre un breve titolo(possibilmente in inglese) e eventualmente una descrizione(potete farla anche in italiano).
La push deve essere fatta soltanta se le funzionalità implementate sono state testate, se la funzionalità non risulta testata la push verrà cancellata!. Ricordate che i PM non hanno bisogno di vedere studiare tutto il vostro codice per scoprire questi errori, perchè vedremo il resoconto di Travis.
Prima di effettuare la commit dovete eseguire i test, questi si eseguono tramite il comando npm test
.
Una volta che accertati del successo dei test dovete lanciare il comando npm run lint
questo comando formatterà il codice secondo gli standard definiti e segnalerà errori nel caso in cui esso non sia in grado di correggerli da solo. Una volta che avete risolto gli errori del comando npm run lint
potete committare.
I branch sono le diramazioni che avrà il repository, nel nostro caso i branch saranno 5 ovvero il master e un branch per ogni gestione(PRU, FRM, CRD, CHT). Con gitKraken dovete fare il check-out sul branch alla quale siete stati assegnati, il check-out indica che da questo momenti i vostri commit e le vostre push verranno effettuate sul branch che avete selezionato. Alla fine della settimana verrà effettuato il merge ovvero tutti i branch esistenti verranno ricongiunti al branch master. Il merge dei vari branch verrà effettuato tramite una pull-request.
Nel caso in cui ci siano ulteriori dubbi lasciate un commento sotto questa Issue.
Per far si che la build vada a buon fine rimuovere l'istruzione:
app.use(express.static(path.join(__dirname, 'public')));
I PM vanno contattati solo quando avete fatto i primi tre step, nella maggior parte dei casi quando comunicate un bug ai PM la prima cosa che fanno i PM è cercarlo su google, quindi lo potete fare anche voi. Se seguirete questa linea guida eviterete comunicazioni inutili e avrete più tempo per concentrarvi sul bug riscontrato.
Sto avendo qualche problema con il fissaggio del post, per ridurre il numero di costrutti "if" avevo deciso di farlo tramite una query ma penso di dover cambiare approccio dato che non mi sta portando a nulla di concreto, inoltre vorrei avere alcune delucidazioni sull'upload dei file.
per gestire le sessioni con jquery stackoverflow
Durante la presentazione dovrete mostrare i documenti e il progetto che avete sviluppato.
La presentazione verrà divisa in due parti
Le slide devono contenere poco testo e molte immagini, ricordatevi, le slide servono ad introdurre un discorso quindi mostrate la slide e la commentate se durante la presentazione leggete quello che c'è scritto sulle slide state dimostrando di non aver capito niente di ciò che avete fatto.
Per presentare il lavoro svolto avrete a disposizione 5 minuti ciascuno, sfuttateli al meglio e andate direttamente al contenuto senza fare troppi giri di parole.
Rileggere i documenti:
Una volta che avete preparato le slide ripetete le vostra parte e cercate di rientrare nei tempi.
Il progetto verrà introdotto da noi PM e in seguito lasceremo la parola a voi.
La presentazione verrà fatta seguendo la seguente scaletta
Dovete presentare
Devi presentare i design goal(fai molta attenzione a questi), la architettura del sistema e la gestione dei dati persistenti partendo dall'E-R fino ad arrivare allo schema logico, puoi fare anche riferimento ai cambiamenti che ha subito nel tempo il db.
Devi indiare la struttura in package del sistema ed illustrare i design patter utilizzati e il class diagram, Ros rivediti un pò il codice perchè è probabile che ti chiedano di aprire l'IDE e di mostrare dove sono stati implementati i pattern.
Devi illustrare i documenti di testing, le metodologie e le tecniche utilizzate per la generazione dei casi di test, infine fai una breve panoramica di tutte le tecnologie che abbiamo utilizzato spiagendo anche il perchè abbiamo scelto di usare queste tecnologie per tecnologie intendo(Git, le pull request, Node, Mocha, Travis, ESLint, AWS).
P.S. Il video di gource lo lancerai tu penso, ti aggiornerò quanto prima
Durante la live dovrete mostrare il funzionameto del sistema, la vostra scaletta sarà questa:
Gradirei che il primo a presentare quindi Vincenzo Sabato avvi il server remoto come introduzione per far vedere che abbiamo un server e il db remoto(non ci arrivano tutti a fare questo quindi è bene farlo vedere) e infine Paolo Cantarella concluda mostrando il report della branch coverage lanciando il comando npm test
e che faccia anche vedere una esecuzione di ESLint con npm run lint
in modo tale da far vedere che il codice rispetta i requisiti di qualità che ci siamo prefissati.
Una volta finita questa parte ringraziate per l'attenzione e cominiciate a pregare.
name: Bug report
about: Create a report to help us improve
title: '' Error in npm test"
labels: '' Bug", "help wanted"
assignees: ''Silvio Corso"
Describe the bug
Lanciando npm test viene generato:
TypeError(): Router.use() requires a middleware function but got a Object
To Reproduce
Steps to reproduce the behavior:
cd server
npm test
Expected behavior
Mi aspettavo che i test andassero tutti a buon fine.
Desktop (please complete the following information):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.