# 🚀 Instrucciones de Uso - Comparador de Precios ## ✅ Proyecto Completamente Actualizado ### Cambios Implementados #### 1. **Sistema de Autenticación** - ✅ Login con PIN de 4 dígitos - ✅ Teclado numérico en pantalla - ✅ Gestión de sesiones PHP - ✅ Protección de páginas - ✅ Botón de logout #### 2. **Migración a TailwindCSS** - ✅ Eliminado Bootstrap completamente - ✅ Eliminado jQuery - ✅ Diseño moderno con TailwindCSS - ✅ Interfaz responsive #### 3. **Código Moderno** - ✅ JavaScript ES6+ (Vanilla JS) - ✅ Fetch API en lugar de $.ajax - ✅ Async/await - ✅ Event listeners modernos #### 4. **Estructura Organizada** - ✅ APIs separadas por país (`api/brasil.php`, `api/chile.php`) - ✅ Datos separados por país (`data/productos_*.json`) - ✅ Sistema de autenticación (`api/auth.php`, `config/pins.php`) - ✅ Archivos obsoletos eliminados --- ## 🔑 Acceso al Sistema ### PINs Configurados | PIN | Usuario | Descripción | |------|---------|-------------| | 1234 | Marce | Usuario 1 | | 5678 | Eli | Usuario 2 | | 0000 | Admin | Administrador | **Modificar PINs:** Edita `config/pins.php` --- ## 📝 Cómo Usar ### 1. Iniciar Sesión 1. Abre `index.html` en tu navegador 2. Ingresa uno de los PINs válidos 3. Puedes usar: - Teclado físico - Teclado numérico en pantalla 4. Click en "Ingresar" ### 2. Seleccionar País - Una vez autenticado, verás las opciones: - 🇧🇷 **Brasil** - Comparar con Reales (BRL) - 🇨🇱 **Chile** - Comparar con Pesos Chilenos (CLP) ### 3. Agregar Productos 1. Completa el formulario: - **Artículo:** Nombre del producto - **Precio AR:** Precio en pesos argentinos - **Precio extranjero:** Precio en la moneda del país - **Responsable:** Selecciona Marce o Eli 2. Click en "Agregar" ### 4. Editar Productos - Click en cualquier campo de la tabla para editarlo - Los cambios se guardan automáticamente - La diferencia se recalcula en tiempo real ### 5. Eliminar Productos - Click en "Eliminar" en la fila del producto - Confirma la acción ### 6. Cerrar Sesión - Click en "Salir" en la barra superior - Serás redirigido al login --- ## 📊 Interpretación de Resultados ### Diferencias de Precio | Color | Significado | |--------|-------------| | 🟢 Verde | Conviene comprar en el país extranjero | | 🔴 Rojo | Conviene comprar en Argentina | ### Totales - **Total por Responsable:** Suma de diferencias por usuario - **Total Global:** Suma total de todas las diferencias --- ## 🔧 Configuración Avanzada ### Agregar Nuevos Usuarios Edita `config/pins.php`: ```php $pines_validos = [ '1234' => 'Marce', '5678' => 'Eli', '0000' => 'Admin', '9999' => 'Nuevo Usuario' // ⬅️ Agregar aquí ]; ``` ### Agregar Nuevo País 1. **Crear API:** `api/nuevo_pais.php` 2. **Crear datos:** `data/productos_nuevo_pais.json` 3. **Actualizar CONFIG en `app.js`:** ```javascript nuevopais: { endpoint: '../api/nuevo_pais.php', currency: 'XXX', currencySymbol: 'X', label: 'Precio Moneda' } ``` 4. **Crear página:** `pages/nuevo_pais.html` 5. **Agregar al index.html** --- ## ⚙️ Archivos Clave ### Frontend - `index.html` - Login con PIN - `pages/brasil.html` - Comparador Brasil - `pages/chile.html` - Comparador Chile ### Backend - `api/auth.php` - Autenticación - `api/brasil.php` - API Brasil - `api/chile.php` - API Chile - `config/pins.php` - Configuración PINs ### JavaScript - `assets/js/auth.js` - Sistema autenticación - `assets/js/app.js` - Lógica principal ### Datos - `data/productos_brasil.json` - Productos Brasil - `data/productos_chile.json` - Productos Chile --- ## 🐛 Troubleshooting ### No carga la cotización - Verifica conexión a internet - La API usa: `https://api.exchangerate-api.com/v4/latest/` ### PIN no funciona - Verifica que el PIN esté en `config/pins.php` - Asegúrate que PHP Sessions esté habilitado ### No guarda productos - Verifica permisos de escritura en carpeta `data/` - Revisa la consola del navegador (F12) ### Sesión expira rápido - Modifica `php.ini`: `session.gc_maxlifetime` --- ## 🚀 Próximos Pasos (Opcionales) - [ ] Base de datos MySQL/PostgreSQL - [ ] Hashear PINs (bcrypt) - [ ] Historial de cambios - [ ] Exportar a Excel/PDF - [ ] Dashboard con gráficos - [ ] Notificaciones push - [ ] API REST completa - [ ] Modo offline (PWA) --- **¿Necesitas ayuda?** Revisa `README.md` para más información técnica.