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