ivanDev
Control de Gastos

Control de Gastos

Iv谩n Bazaga

Iv谩n Bazaga

Desarrollador Junior

Demo access

Tarjeta de acceso de prueba

Aqu铆 tienes las credenciales asignadas para que puedas entrar al proyecto de demostraci贸n.

Usuario de prueba

test@creamiproyecto.com

Contrase帽a de prueba

123456

Usa estas credenciales solo para pruebas o demostraciones del proyecto.

Next.js React TypeScript Prisma MariaDB Tailwind CSS

# Control de Gastos

Aplicaci贸n web multiusuario para registrar, consultar y analizar ingresos, gastos y movimientos recurrentes de forma centralizada. Incluye autenticaci贸n por sesi贸n, roles de usuario y panel de administraci贸n para aprobar cuentas.

# Tabla de contenidos

# Estado

Proyecto en desarrollo activo.

# Caracter铆sticas

  • Registro e inicio de sesi贸n con sesiones persistentes.
  • Aprobaci贸n de usuarios desde el panel de administraci贸n.
  • Dashboard mensual con resumen de ingresos, gastos y balance.
  • Gesti贸n de transacciones con filtros y edici贸n individual.
  • Plantillas de movimientos recurrentes y generaci贸n autom谩tica por mes.
  • Categorizaci贸n de gastos con colores e iconos.

# Stack

  • Next.js 16 con App Router.
  • React 19 y TypeScript.
  • Prisma ORM con base de datos MySQL/MariaDB.
  • bcryptjs para el hashing de contrase帽as.
  • Recharts para visualizaci贸n de datos.
  • Tailwind CSS 4 para estilos.

# Requisitos

  • Node.js 18 o superior.
  • Base de datos MySQL o MariaDB accesible desde DATABASE_URL.
  • Instalar dependencias con npm install.

# Instalaci贸n

  1. Clona el repositorio.
  2. Instala dependencias:
npm install
  1. Configura la conexi贸n a la base de datos en un archivo .env.
  2. Genera el cliente de Prisma y aplica las migraciones:
npx prisma generate
npx prisma migrate dev

# Configuraci贸n

Variables m铆nimas esperadas:

DATABASE_URL="mysql://usuario:contrase帽a@host:3306/base_de_datos"

Si vas a ejecutar scripts de base de datos o el seed, aseg煤rate de que esa URL apunte al entorno correcto.

# Uso

Inicia la aplicaci贸n en modo desarrollo:

npm run dev

Despu茅s abre la app y accede con una cuenta aprobada. Desde la interfaz puedes navegar por:

  • Dashboard principal.
  • Transacciones.
  • Movimientos recurrentes.
  • Administraci贸n de usuarios, si tu rol es admin.

# Scripts

  • npm run dev: arranca el servidor de desarrollo.
  • npm run build: compila la aplicaci贸n para producci贸n.
  • npm run start: ejecuta la build de producci贸n.
  • npm run lint: ejecuta ESLint.
  • npm run seed: carga datos iniciales en la base de datos.

# Estructura

  • src/app: p谩ginas, rutas API y layout principal.
  • src/components: componentes reutilizables de la interfaz.
  • src/lib: l贸gica de autenticaci贸n, Prisma y generaci贸n de movimientos recurrentes.
  • prisma/schema.prisma: modelo de datos.
  • prisma/seed.ts: datos semilla.

# Pruebas

No hay una suite de tests automatizada declarada en package.json. Como verificaci贸n m铆nima, ejecuta:

npm run lint

Y, si cambias la l贸gica de datos, valida tambi茅n las migraciones y el seed contra la base de datos configurada.

# Licencia

Consulta el archivo LICENSE.md para conocer los t茅rminos de uso.

# Autor

# Iv谩n Bazaga

Desarrollador frontend con foco en aplicaciones web modernas y experiencia pr谩ctica con ecosistemas JavaScript.

# Contacto

Plataforma Enlace
GitHub @IvBanzaga
LinkedIn Iv谩n Bazaga
Email ivan.cpweb@gmail.com
Portfolio ivandevs.netlify.app