Skip to content

Instantly share code, notes, and snippets.

@RamEduard
Last active August 12, 2024 21:50
Show Gist options
  • Save RamEduard/dc0c3f4bec94225f00a95fea4d1df834 to your computer and use it in GitHub Desktop.
Save RamEduard/dc0c3f4bec94225f00a95fea4d1df834 to your computer and use it in GitHub Desktop.
REST API de Ingresos y Gastos en Node.js

REST API de Gastos e Ingresos en Node.js

Instalaciones

Necesarias

Recomendadas (opcionales)

Conceptos básicos

Paquetes

Requerimientos

Esta API deberá contar con las siguientes funcionalidades

Categorías

  • Obtener todos las categorías
  • Crear categoría
  • Obtener categoría
  • Actualizar categoría
  • Eliminar categoría

Gastos/Ingresos

  • Obtener todos los gastos/ingresos
  • Crear gasto/ingreso
  • Obtener gastos/ingreso por identificación
  • Actualizar gasto/ingreso por ID
  • Enviar a gasto/ingreso a la papelera por ID
  • Eliminar gasto/ingreso por ID

Requerimientos (opcionales)

Usuarios

  • Autorización JWT
  • Iniciar sesión de usuario
  • Registro de usuario

Panel administrativo

  • Ver el monto total de gastos/ingresos/saldo
  • Ver los gastos desglosados por categoría y mes en visualizaciones de gráficos
  • Ver el presupuesto mensual gastado y restante en un gráfico circular
  • Filtrar gastos por categoría y mes.
  • Filtrar ingresos por mes
  • Añadir un gasto y un ingreso
  • Edite sus gastos, ingresos, presupuesto, avatar y nombre.
  • Eliminar un gasto y un ingreso

Cheat Sheet (algunos comandos)

Instalar dependencias

npm install express sequelize sqlite3 --save

Instalar dependencias (Dev)

npm install nodemon sequelize-cli --save

Sequelize CLI

  • Arranque del proyecto: $ npx sequelize-cli init

  • Crear base de datos: $ npx sequelize-cli db:create

    • Nota: Recuerda que no es soportado por sequelize para el dialecto de sqlite3 por el siguiente error: ERROR: Dialect sqlite does not support db:create / db:drop commands
  • Generar modelos: $ npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string

  • Ejecutar migraciones $ npx sequelize-cli db:migrate

Diagrama de Base de Datos

Database diagram

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment