Skip to content

IMatfres/AlkemyBank

Repository files navigation

Backend Node Template

✅ Primero lo primero: instalar las dependencias iniciales del proyecto antes de trabajar:

npm install

🚩 Recomendaciones:

Utilizar la versión de Node v14.x

💡 El proyecto utliza Sequelize como ORM. Comandos utiles del CLI:

Como generar un modelo desde cero

npx sequelize model:generate --name Ejemplo --attributes ejemplo:string

Crear la base de datos

npx sequelize db:create

Migrar modelos creados previamente

npx sequelize db:migrate

Borrar la base de datos que creamos

npx sequelize db:drop

Generar el archivo de la seeds

npx sequelize seed:generate --name create-role
npx sequelize seed:generate --name create-categories
npx sequelize seed:generate --name create-user
npx sequelize seed:generate --name create-transaction

Utilizamos todas las seeds

npx sequelize db:seed:all

Borrar la semilla por nombre

npx sequelize db:seed:undo --seed nombreDeLaSeed

🏗 Algunos datos del proyecto:

  • La estructura de carpetas es del patron MVC
  • Las respuestas positivas las devuelve como un objecto. Las negativas las gestiona como un HTML
  • En el proyecto encontrarán un ejemplo de como se implementa el flujo de información dentro de la app.
  • Para el flujo de trabajo utilizaremos Gitflow. Para el mismo deberan crear una rama con el numero de tarjeta con el que esten trabajando

image

  • Cuando el trabajo este terminado, se debe generar el "Pull Request" o PR como le solemos llamar. El proyecto ya cuenta con un template de PR, por lo que ustedes solo tendran que completar con los datos que les indica el template. Esta seria una imagen de ejemplo de un PR con su evidencia en caso de falla y su caso de éxito.

image

  • Las respuestas positivas se gestionan con el helper enpodintResponse, y los negativos con createHtppError de la libreria http-errors. Ejemplo de satisfactoria

Ejemplo de respuesta negativa: image

🚑 Helpers basicos:

catchAsync

Es una función para estandarizar la forma en la que se crean los metodos en los controladores. Para ver mas buscar en helpers/catchAsync.js

endpointResponse:

Estructura las respuestas positivas de toda la app. Dentro del archivo helpers/success.js podran ver que parametros le pueden pasar.

ErrorObject:

Un objecto de error, el cual puede recibir varios atributos (pueden verlo en helpers/error.js) El mismo es una extensión de el objecto Error nativo de JS. Sirve para devolver errores cuando esten por fuera del controlador, y que los errores sean interceptados por el CATCH que tendran en los controllers.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published