Lo primero que vamos a hacer sera inicializar nuestro entorno de desarrollo con node.
npm init -y
Lo siguiente sera instalar nuestras dependencias
npm install express dotenv cors joi morgan sequelize pg pg-hstore bcrypt jsonwebtoken passport passport-jwt swagger-ui-express express-rate-limit http-errors uuid
express
: el core de nuestra aplicacion.
dotenv
: esta libreria nos ayuda a manejar variables de entorn
cors
: para poder manejar los cors
joi
: para validar los datos que recibimos de las peticiones
morgan
: para imprimir las peticiones y hacer un log de errores.
sequelize
: ORM para hacer la integracion de nuestra DB con nuestro backend.
pg pg-hstore
: Modulos necesarios para implementar sequelize con postgreSQL
bcrypt
: libreria para encriptar las contraseñas
jsonwebtoken
: libreria para crear tokens de login
passport
: core principal para autenticacion.
passport-jwt
: estrategia de passport para integrar jwt
swagger-ui-express
: libreria para documentar la api
express-rate-limit
: libreria para limitar peticiones
http-errors
: Crear y manejar errores de mejor manera
Lo siguiente sera instalar nuestras dependencias de Desarrollo
npm install -D nodemon chai chai-http mocha prettier eslint eslint-config-prettier eslint-plugin-prettier