Control de Gastos
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
# 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
- Caracter铆sticas
- Stack
- Requisitos
- Instalaci贸n
- Configuraci贸n
- Uso
- Scripts
- Estructura
- Pruebas
- Licencia
- Autor
# 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
- Clona el repositorio.
- Instala dependencias:
npm install- Configura la conexi贸n a la base de datos en un archivo
.env. - 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 devDespu茅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 lintY, 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 |
| Iv谩n Bazaga | |
| ivan.cpweb@gmail.com | |
| Portfolio | ivandevs.netlify.app |
Comparte este proyecto
驴Te ha gustado este proyecto? 隆Comp谩rtelo con tu red!