Platform Marketing Content: - Add PaginationParams, PaginationMeta, PaginatedResponse interfaces - Fix JwtAuthGuard import paths (common/guards instead of modules/auth) - Add missing fields to CRM interfaces (address, keywords, features, benefits) - Install @nestjs/throttler dependency ERP Suite - Construccion: - Create tsconfig.node.json for web frontend - Add vite-env.d.ts for Vite types - Fix implicit return errors in Express controllers - Prefix unused parameters with underscore ERP Suite - ERP Core: - Export PoolClient type from database config - Fix invoice type comparison (customer/supplier vs out_invoice) - Refactor base.service.ts query handling for proper type inference - Rename Role type to RoleType to avoid conflict with entity - Fix ProtectedRoute to use role?.name instead of roles array ERP Suite - POS Micro: - Add vite-env.d.ts for Vite types - Fix Sale property names (discountAmount, changeAmount) - Export TodaySummary interface from sales service All projects now pass npm install and npm run build successfully. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
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