2025-05-05 15:49:01 -03:00
{
"name" : "frontend" ,
"private" : true ,
"version" : "0.0.0" ,
"type" : "module" ,
"scripts" : {
"dev" : "vite" ,
"build" : "tsc -b && vite build" ,
"lint" : "eslint ." ,
"preview" : "vite preview"
} ,
"dependencies" : {
"@emotion/react" : "^11.14.0" ,
"@emotion/styled" : "^11.14.0" ,
"@mui/icons-material" : "^7.0.2" ,
2025-05-27 11:21:00 -03:00
"@mui/material" : "^7.1.0" ,
"@mui/x-data-grid" : "^8.4.0" ,
2025-05-05 15:49:01 -03:00
"axios" : "^1.9.0" ,
Fase 3:
- Backend API:
Autenticación y autorización básicas con JWT implementadas.
Cambio de contraseña funcional.
Módulo "Tipos de Pago" (CRUD completo) implementado en el backend (Controlador, Servicio, Repositorio) usando Dapper, transacciones y con lógica de historial.
Se incluyen permisos en el token JWT.
- Frontend React:
Estructura base con Vite, TypeScript, MUI.
Contexto de autenticación (AuthContext) que maneja el estado del usuario y el token.
Página de Login.
Modal de Cambio de Contraseña (forzado y opcional).
Hook usePermissions para verificar permisos.
Página GestionarTiposPagoPage con tabla, paginación, filtro, modal para crear/editar, y menú de acciones, respetando permisos.
Layout principal (MainLayout) con navegación por Tabs (funcionalidad básica de navegación).
Estructura de enrutamiento (AppRoutes) que maneja rutas públicas, protegidas y anidadas para módulos.
2025-05-07 13:41:18 -03:00
"jwt-decode" : "^4.0.0" ,
2025-05-05 15:49:01 -03:00
"react" : "^19.1.0" ,
"react-dom" : "^19.1.0" ,
2025-05-27 11:21:00 -03:00
"react-router-dom" : "^7.5.3" ,
"xlsx" : "^0.18.5"
2025-05-05 15:49:01 -03:00
} ,
"devDependencies" : {
"@eslint/js" : "^9.25.0" ,
Fase 3:
- Backend API:
Autenticación y autorización básicas con JWT implementadas.
Cambio de contraseña funcional.
Módulo "Tipos de Pago" (CRUD completo) implementado en el backend (Controlador, Servicio, Repositorio) usando Dapper, transacciones y con lógica de historial.
Se incluyen permisos en el token JWT.
- Frontend React:
Estructura base con Vite, TypeScript, MUI.
Contexto de autenticación (AuthContext) que maneja el estado del usuario y el token.
Página de Login.
Modal de Cambio de Contraseña (forzado y opcional).
Hook usePermissions para verificar permisos.
Página GestionarTiposPagoPage con tabla, paginación, filtro, modal para crear/editar, y menú de acciones, respetando permisos.
Layout principal (MainLayout) con navegación por Tabs (funcionalidad básica de navegación).
Estructura de enrutamiento (AppRoutes) que maneja rutas públicas, protegidas y anidadas para módulos.
2025-05-07 13:41:18 -03:00
"@types/jwt-decode" : "^2.2.1" ,
2025-05-05 15:49:01 -03:00
"@types/react" : "^19.1.2" ,
"@types/react-dom" : "^19.1.2" ,
"@vitejs/plugin-react" : "^4.4.1" ,
"eslint" : "^9.25.0" ,
"eslint-plugin-react-hooks" : "^5.2.0" ,
"eslint-plugin-react-refresh" : "^0.4.19" ,
"globals" : "^16.0.0" ,
"typescript" : "~5.8.3" ,
"typescript-eslint" : "^8.30.1" ,
"vite" : "^6.3.5"
2025-06-27 18:24:30 -03:00
} ,
"audit" : {
"ignore" : {
"GHSA-4r6h-8v6p-xvw6" : {
"reason" : "Vulnerabilidad de Prototype Pollution en xlsx. No aplica porque la aplicación no parsea archivos subidos por usuarios, solo los genera desde una fuente de datos confiable (backend)." ,
"expires" : "2050-12-31"
} ,
"GHSA-5pgg-2g8v-p4x9" : {
"reason" : "Vulnerabilidad de ReDoS en xlsx. El riesgo es teórico y extremadamente bajo, ya que requeriría datos maliciosos en la propia base de datos. Se acepta el riesgo." ,
"expires" : "2050-12-31"
}
}
2025-05-05 15:49:01 -03:00
}
}