@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
16 lines (13 loc) • 1.05 kB
Markdown
trigger: always_on
# Module Architecture & Routing
- **Encapsulación por Feature:** Cada módulo en `src/features/{nombre-modulo}` debe contener:
- `index.ts`: Public API, exporta solo lo necesario.
- `types/`: Definiciones locales.
- `services/`: Lógica de API. **SIEMPRE** se debe usar un patrón de objeto para exportar los métodos (Ej: `export const authService = { login: () => {} }`) y realizar las consultas HTTP reusando la instancia de Axios definida en `src/lib/api.ts`. usando la instancia Axios en `src/lib/api.ts`.
- `hooks/`: Queries y Mutations usando `@tanstack/react-query`.
- `store/`: Estados de Zustand (si aplica).
- **TanStack Router:** Rutas en `src/routes/` NO deben tener lógica de componentes o UI compleja.
- **Componentes Page:** Las rutas importan componentes de la carpeta `pages/` de cada feature (Ej: `src/routes/guest-registration.tsx` importa `<GuestRegistrationPage />`).
- **Semántica:** Nombres basados en la función específica (ej. `ticket-sales`), no usar nombres genéricos abstractos.