# Don Confiao - Frontend ## Tech Stack - **Framework:** Vue 3 (Composition API) - **UI Library:** Vuetify 3 - **Routing:** Vue Router 4 (auto-routes con `unplugin-vue-router`) - **State:** Pinia - **HTTP:** Axios - **Build:** Vite - **Linting:** ESLint ## Project Structure ``` src/ ├── assets/ # Imágenes, iconos estáticos ├── components/ # Componentes Vue reutilizables ├── layouts/ # Layouts de página ├── pages/ # Vistas (auto-routed desde文件名) ├── plugins/ # Configuración de Vuetify, etc. ├── router/ # Configuración de rutas ├── services/ # API services (auth.js, etc.) │ ├── api.js # Clase wrapper que делегат methods │ ├── api-implementation.js # Factory que selecciona implementación │ ├── auth.js # Manejo de auth (login, tokens JWT) │ ├── django-api.js # Implementación de API para Django │ └── http.js # Axios instance con interceptors ├── stores/ # Pinia stores └── styles/ # SCSS settings ``` ## Important Conventions ### Auto-imports - Componentes en `src/components/` se auto-importan por nombre - Los archivos en `src/pages/*.vue` se routing automáticamente via `unplugin-vue-router` - Alias `@` = `src/` ### Pages (CRITICAL) **Siempre importar componentes en los archivos de página:** ```vue ``` ### Componentes - Usar Composition API (`