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