Skip to content

Example of NodeJs server with Express routes and JWT authentication

Notifications You must be signed in to change notification settings

De-Lac/NodeJs_server_examaple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Questo file di readme, è stato scritto utilizzando il linguaggio Markdown

NodeJs_server_examaple

Esempio di server in Nodejs, con:

  • autenticazione JWT
  • Middleware per controllo ruolo sulle route Admin
  • Mongoose per gli schemi DB
  • promesse con il modello "q"
  • organizzazione route divisa in diversi Router di Express

Client di Riferimento in AngularJs 1

ChangeLog

  • 27/06/2017 -- aggiunto logger Winston (differenzio tra info, debug e error. gli errori sono scritti su file)

API esposte dal server:

/
GET /
POST /

/admin (richiesto ruolo admin)
GET /admin/users
GET /admin/setup

/api
POST /api/signup
POST /api/authenticate

Le API rispondo con un messaggio strutturato nel seguente modo

  • caso di successo {success: true, message: 'operazione completata', data: {'token':'494jti4944'}}
  • caso di errore { success: false, code: 'ERR_API_WRONG_PSW', message: 'autenticazione fallita' }

Codici Errore restituiti dal server

  • ERR_API_NOT_FOUND - l'elemento cercato non esiste sul db
  • ERR_API_WRONG_PSW - autenticazione fallita
  • ERR_DB_DUPLICATE_KEY - si sta cercando di salvare un elemento già esistente

Struttura file del server

--- index.js                / /file principale da eseguire
--- package.js
--+ routes
  |---- db-utilities.js      //funzioni condivise tra tutti, per interagire con il db
  |--+ admin
     |--- admin-index.js     //file principale del modulo Admin
     |--- admin-utilities.js //funzioni del modulo Admin       
  |--+ api  
     |--- api-index.js       //file principale del modulo Api
     |--- api-utilities.js   //funzioni del modulo Api
--+ models                   //schemi modelli Mongoose
  |--- User.js

Prima di avviare il server, installare le dipendenze con il comando
npm install

poi avviarlo con il comando
node index.js

oppure installate https://github.com/foreverjs/forever, per riavviare in automatico Node dopo una modifica, o dopo un crash. (-w sta per watch, cioè controlla se sono state salvate modifiche)
forever -w start index.js

Tutorial di riferimento Scotch.io

About

Example of NodeJs server with Express routes and JWT authentication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published