# Configurar K&S Transport en línea

La app usa Supabase para guardar una copia compartida de la flota, y Cloudflare Pages para publicarla con HTTPS. Así puede instalarse desde Android, iPhone y computadora. El código del proyecto no contiene contraseñas ni claves de administrador.

## 1. Crear el proyecto Supabase

1. Crea una cuenta en [Supabase](https://supabase.com/) y un proyecto nuevo.
2. En **SQL Editor**, abre `supabase/schema.sql` y ejecuta todo el script. Además de la base de datos, crea el bucket privado para las fotos y PDF y sus permisos para usuarios autorizados.
   - Si ejecutaste una versión anterior de este script, vuelve a ejecutar la versión actualizada para agregar el almacenamiento privado. Las unidades y los mantenimientos existentes se conservan.
3. En **Authentication → Users**, crea el correo y la contraseña que usarás para iniciar sesión en la app.
4. Vuelve a **SQL Editor** y ejecuta lo siguiente, reemplazando el correo:

   ```sql
   insert into public.fleet_members (user_id)
   select id from auth.users where email = 'correo@empresa.com'
   on conflict do nothing;
   ```

   Repite los pasos 3 y 4 para cada persona autorizada. La lista `fleet_members` limita quién puede leer o modificar los datos compartidos.

5. En la configuración del proyecto, copia la **Project URL** y la **publishable key** (también conocida como clave `anon`). No uses ni compartas la `service_role` o una secret key.

Los adjuntos se pueden subir cuando la app está conectada a la nube. Cada archivo puede pesar hasta 10 MB y se permite PDF o imagen. El respaldo JSON guarda los registros y las rutas de sus adjuntos; los archivos permanecen almacenados en Supabase Storage.

## 2. Publicar la app

1. Crea una cuenta en [Cloudflare Pages](https://pages.cloudflare.com/).
2. Crea un proyecto con **Direct Upload / Drag and drop**.
3. Sube los archivos de la carpeta `publicar`.
4. Abre la dirección HTTPS que te entrega Pages.
5. En la app pulsa **Conectar nube**, ingresa la URL del proyecto, la publishable key y el usuario autorizado de Supabase.

La conexión y la instalación PWA necesitan HTTPS. Las copias automáticas locales se conservan en cada navegador; la fila de Supabase es la copia compartida entre dispositivos. Si hay cambios de dos dispositivos al mismo tiempo, la app carga la última versión de nube y guarda la versión local anterior en **Copias**.

## 3. Instalar en cada dispositivo

- **Android:** abre la dirección HTTPS en Chrome y elige **Instalar app** o **Agregar a pantalla principal**.
- **iPhone/iPad:** abre la dirección HTTPS en Safari, pulsa **Compartir** y elige **Agregar a pantalla de inicio**.
- **Computadora:** en Chrome o Edge, usa el icono **Instalar** de la barra de direcciones o el menú del navegador.

Después inicia sesión en cada dispositivo con el usuario Supabase autorizado y la misma configuración de proyecto.

## Planes

Cloudflare Pages sirve los archivos estáticos desde HTTPS. El plan gratuito actual de Supabase incluye 500 MB de base de datos, pero pausa los proyectos gratuitos después de una semana de inactividad. Para operación continua, revisa el plan adecuado antes de depender del sistema como registro único.
