erp-construccion-frontend-v2/web
Adrian Flores Cortes 55261598a2 [FIX] fix: Resolve TypeScript errors for successful build
Fixes:
- Add teal, cyan, slate colors to StatusColor type and StatusBadge
- Create StatsCard component with color prop for backward compatibility
- Add label/required props to FormGroup component
- Fix Pagination to accept both currentPage and page props
- Fix unused imports in quality and contracts pages
- Add missing Plus, Trash2, User icon imports in contracts pages
- Remove duplicate formatDate function in ContratoDetailPage

New components:
- StatsCard, StatsCardGrid for statistics display

Build: Success (npm run build passes)
Dev: Success (npm run dev starts on port 3020)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 11:36:21 -06:00
..
src [FIX] fix: Resolve TypeScript errors for successful build 2026-02-04 11:36:21 -06:00
.env.example [CONST-D-001] feat: Integrate API frontend with backend 2026-02-03 04:25:10 -06:00
.eslintrc.cjs [MAI-002] feat: Implement frontend Proyectos module 2026-01-25 10:04:54 -06:00
Dockerfile Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
index.html Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
nginx.conf Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
package-lock.json [MAI-002] feat: Implement frontend Proyectos module 2026-01-25 10:04:54 -06:00
package.json test: Add Vitest and tests for Toast system 2026-02-04 01:17:52 -06:00
README.md Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
tailwind.config.js [G-009] feat(components): Add Skeleton loading component system 2026-02-04 01:27:06 -06:00
tsconfig.json Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
tsconfig.node.json Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
vite.config.ts Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
vitest.config.ts test: Add Vitest and tests for Toast system 2026-02-04 01:17:52 -06:00

Frontend Web - MVP Sistema Administración de Obra

Stack: React 18 + Vite + TypeScript + Zustand Versión: 1.0.0 Fecha: 2025-11-20


📋 DESCRIPCIÓN

Aplicación web del sistema de administración de obra e INFONAVIT.

Portales incluidos:

  • Admin: Portal administrativo completo
  • Supervisor: Portal para supervisores de obra
  • Obra: Portal para personal en sitio

🚀 SETUP INICIAL

# Instalar dependencias
npm install

# Iniciar servidor de desarrollo
npm run dev

# Build para producción
npm run build

La aplicación estará disponible en http://localhost:5173


🏗️ ESTRUCTURA

src/
├── shared/                    # Código compartido entre portales
│   ├── components/
│   │   ├── ui/               # Componentes UI base (Button, Input, etc.)
│   │   └── layout/           # Componentes de layout (Header, Sidebar, etc.)
│   ├── hooks/                # Custom hooks
│   ├── stores/               # Zustand stores
│   ├── services/             # API services
│   ├── types/                # TypeScript types
│   ├── utils/                # Utilities
│   └── constants/            # Constantes
└── apps/                     # Portales específicos
    ├── admin/                # Portal administrador
    │   ├── pages/
    │   ├── components/
    │   └── routes.tsx
    ├── supervisor/           # Portal supervisor
    └── obra/                 # Portal obra

📝 SCRIPTS

Script Descripción
npm run dev Inicia servidor de desarrollo (port 5173)
npm run build Build para producción
npm run preview Preview del build de producción
npm run lint Ejecuta ESLint
npm run lint:fix Ejecuta ESLint y corrige
npm run type-check Verifica tipos TypeScript

🎨 CONVENCIONES

Nomenclatura

Seguir ESTANDARES-NOMENCLATURA.md:

  • Componentes: PascalCase.tsx
  • Páginas: PascalCasePage.tsx
  • Hooks: useCamelCase.ts
  • Stores: camelCase.store.ts
  • Tipos: camelCase.types.ts

Path Aliases

import { Button } from '@components/ui/Button';
import { useAuth } from '@hooks/useAuth';
import { projectStore } from '@stores/project.store';
import type { Project } from '@types/project.types';

📚 REFERENCIAS


Mantenido por: Frontend-Agent Última actualización: 2025-11-20