Quali argomenti saranno trattati nel corso?
Introduzione a Node.js
Parole di Apertura e Panoramica del Corso:
Parole di apertura.
Cosa verrà trattato nel corso e un'introduzione a Node.js.
Enfasi sul lavoro con i repository di codice.
Scrittura di un Server di Base:
Costruzione di un primo semplice server.
Spiegazione di cosa è un server e gestione delle richieste e risposte HTTP.
Comprensione dei codici di stato e restituzione di JSON vs. HTML.
Gestione di Base delle Richieste:
Introduzione agli endpoint del server API.
Definizione di molteplici route per la gestione delle richieste.
Gestione Avanzata delle Richieste al Server:
Comprensione della struttura della richiesta HTTP.
Spiegazione dei codici di stato e comportamento del server.
Preparazione alla scrittura di una Restful API:
Introduzione alle Restful API.
Comprensione di QueryString e parametri della richiesta.
Lavorare con il File System
Lettura di file in Node.js:
Lavorare con il modulo del file system (fs).
Utilizzo della funzione readFile in modo asincrono.
Utilizzo della funzione readFileSync in modo sincrono.
Introduzione ai moduli fs e path.
Creazione di un server con più endpoint.
Salvataggio di file di testo e file JSON.
Salvare File in Node.js:
Utilizzando la funzione writeFile in modo asincrono per scrivere file.
Utilizzando la funzione writeFileSync in modo sincrono per scrivere file.
Gestione degli errori nel server.
Eliminazione di file in Node.js:
Eliminazione di file utilizzando unlinkSync.
Utilizzo di directory nel file system.
Funzione per verificare se un file esiste nel file system.
Gestione delle richieste POST:
Architettura di base del server.
Gestione delle richieste post.
Utilizzo di Postman per creare richieste get e post.
Utilizzo della validazione nel server:
Scrivere un server significativo.
Utilizzo di validazioni ed errori nel server.
Creazione di un server con molteplici richieste (leggere, scrivere, eliminare file dal sistema operativo).
Scrivere un Server con Express
Introduzione all'uso di Express:
Informazioni di base sulla libreria express.
Utilizzo della libreria express per scrivere un server.
Utilizzo delle funzioni send, sendStatus e json.
Gestione delle richieste get.
Gestione di Querystring e Params:
Utilizzo di req.query con express.
Utilizzo di req.params con express.
Scrittura di un server di dati admin utilizzando il file system.
Gestione delle richieste POST nel Server:
Gestione delle richieste post con express.
Spiegazione dell'uso dei middleware.
Aggiunta di validazioni numeriche nel server.
Architettura del Server:
Architettura del server in express.
Utilizzo di express.Router per gestire il routing del server.
Aggiunta e creazione di controller nel server.
Aggiunta e creazione di servizi nel server.
Utilizzo dei Middlewares in Express:
Comprensione dei middlewares in express.
Incorporazione corretta dei middlewares nei controllers.
Scrittura di validazioni utilizzando middlewares.
MongoDB
Introduzione a MongoDB:
Introduzione ai database.
Differenze tra database relazionali e non relazionali.
Introduzione a MongoDB e casi d'uso comuni.
Collegamento del server express a MongoDB.
Introduzione all'uso della GUI di mongo.
Salvataggio e Recupero di Record:
Definizione di schemi e panoramica sui tipi comuni.
Creazione di un record in MongoDB con la funzione save.
Ricerca di record in MongoDB utilizzando la funzione find.
Utilizzo di filtri comuni come gte$, $gt, $lte, $lt e eq$.
Query Avanzate in MongoDB:
Comprensione dell'identificatore ObjectId.
Spiegazione della funzione toJSON.
Utilizzo della query findById in MongoDB.
Aggiornamento dei record utilizzando findByIdAndUpdate.
Utilizzo dell'operatore inc$.
Utilizzo della funzione count in MongoDB.
Definizione dei valori predefiniti per lo schema in MongoDB.
Query di Cancellazione e Operatori di Base:
Cancellare record utilizzando findByIdAndDelete.
Utilizzando l'operatore push$.
Gestione delle richieste di fallimento del server (500).
Aggregazioni Avanzate in MongoDB:
Costruire una pipeline avanzata e utilizzare le aggregazioni.
Ordinare i dati nelle query di MongoDB.
Utilizzare operatori comuni come sum, $max, $min e avg$.
Relazioni Avanzate tra Collezioni in MongoDB:
Spiegazione del collegamento delle collezioni utilizzando ref.
Utilizzo dell'azione populate in MongoDB.
Spiegazione approfondita della creazione di un id in MongoDB.
Sicurezza del server con autenticazione
Introduzione a JWT:
Contesto sulla sicurezza dei server.
Introduzione al pacchetto jsonwebtoken.
Creazione del primo token.
Utilizzo della funzione verify per controllare la validità del token.
Scrittura di un'API Sicura:
Aggiunta di un livello di sicurezza al server.
Costruzione di Middleware per la sicurezza del server.
Implementazione della sicurezza con JWT sul server che scriviamo.
Utilizzo della Libreria Crypto:
Contesto sull'uso della crittografia nel server.
Spiegazione delle funzioni di hash per l'hashing delle password.
Aggiunta di salt allo schema per una sicurezza potenziata.
Spiegazione degli attacchi possibili.
Comunicazione Tra Server:
Utilizzo della libreria axios per la comunicazione tra server.
Recupero dati da un altro server tramite il server che scriviamo.
Memorizzazione dati in MongoDB per dati recuperati da un server esterno.
Parole di Chiusura:
Parole di chiusura per riassumere il corso.