Checklist de lanzamiento
Todo lo que falta para salir a producción (web + stores), a la fecha de la última pausa de desarrollo. Pensado para retomar desde cualquier compu sin depender de una conversación anterior — actualizar esta lista cada vez que se cierre o destrabe algo.
Mobile — iOS
-
ios.bundleIdentifier=com.technovate.dalerutaenapp.config.ts. -
eas.jsoncon perfilesdevelopment/preview/production. -
expo-dev-clientinstalado (hace falta para development builds — Expo Go no alcanza porque@react-native-community/slideres nativo de terceros). - Ícono/splash placeholder (reusa el glyph de marca ya existente en la app).
- Inscribirse en Apple Developer Program (USD 99/año). Si es como organización (Technovate) en vez de individual, pide D-U-N-S number — arrancarlo ya por el tiempo de verificación (1-2 semanas).
-
eas login+eas initdesdeapps/mobile(interactivo, abre navegador — requiere que lo corra Facu, no se puede automatizar). - Reemplazar el ícono/splash placeholder por el definitivo (Facu lo genera con
otra herramienta) — quedan en
apps/mobile/assets/icon-source.svg/adaptive-icon-foreground.svgcomo referencia de la marca actual. - Primer
eas build --profile development --platform ios, instalar en un iPhone físico y probar el flujo completo (no hay Simulador de iOS sin Mac). - En App Store Connect: ficha de la app, capturas de pantalla (ojo:
ios.supportsTablet: trueimplica que también piden capturas de iPad — evaluar si conviene sacarlo para simplificar el lanzamiento), descripción, categoría, clasificación de edad. - Política de privacidad (URL pública) — obligatoria, y acá pesa más que en apps comunes porque se piden documentos sensibles (DNI, licencia, antecedentes penales). Compartida con Android, no es sólo para iOS.
- App Privacy / "nutrition label" en App Store Connect: declarar qué datos se recolectan (identidad, ubicación aproximada vía direcciones, datos de pago).
- Cuenta de prueba para el revisor de Apple — ya existe
scripts/seed-circuit.mjsque genera una empresa + courier de demo, sirve tal cual. - Cumplimiento de exportación (encryption compliance) — probablemente exento (sólo HTTPS estándar), pero hay que responder el formulario en la primera build.
- Revisar que el flujo de pago (MercadoPago vía navegador in-app) encaje bien en las guidelines de Apple para "bien/servicio físico consumido fuera de la app" — no debería requerir In-App Purchase, pero vale la pena confirmarlo antes de mandar a review.
Mobile — Android
-
android.package=com.technovate.daleruta(alineado con iOS). - Ícono adaptativo placeholder (
adaptive-icon.png+backgroundColor). - Cuenta de Google Play Console (si no existe todavía).
- Build de producción (
eas build --platform android --profile productiono el flujo que Facu ya tenga armado — es el área que domina). - Misma política de privacidad que iOS (Play Console también la exige).
- Data safety form de Play Console (equivalente al App Privacy de Apple).
Web (apps/web)
- Confirmar si ya existe un proyecto de Vercel conectado al repo o si hay que
crearlo (
Root Directory: apps/web). - Cargar env vars en Vercel:
NEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_SUPABASE_ANON_KEY,NEXT_PUBLIC_APP_NAME=DaleRuta. - Decidir dominio: subdominio existente (rápido, gratis, recomendado para
arrancar) vs. dominio nuevo (
daleruta.app/.com.ar— hay que comprarlo). Ver charla anterior: técnicamente son casi el mismo esfuerzo, la diferencia es administrativa (comprar el dominio). - Al definir el dominio: actualizar Site URL + Redirect URLs en Supabase → Authentication → URL Configuration.
- Decidir si se prende
NEXT_PUBLIC_ENABLE_VERIFIED_ONLY_FILTER(el checkbox de "sólo repartidores verificados" sigue oculto a propósito hasta que haya back-office/matching que lo haga valer).
Pagos / backend
- Confirmar que
MERCADOPAGO_ACCESS_TOKENen los secrets de Supabase sea el de producción (no el de sandbox) antes de salir en serio — hoy está seteado pero no verifiqué cuál es. - Falta
MERCADOPAGO_WEBHOOK_SECRETen los secrets (el README lo pide junto con el access token; hoy sólo está el access token). - Registrar la URL del webhook en Mercado Pago:
https://<project-ref>.supabase.co/functions/v1/mp-webhook. -
create-pickup-paymentymp-webhookestán deployadas y actualizadas con la marca DaleRuta (verificado en esta sesión).
Legal (a validar con asesor — ver PRD §12)
- Política de privacidad + Términos y Condiciones (bloquea el alta en ambas stores, no es opcional).
- Términos de uso de Mercado Envíos respecto de operar Flex vía un tercero.
- Estado fiscal/laboral del repartidor (independiente/monotributista).
Notas
RutaYa→DaleRuta: rebrand ya completo y pusheado (ver commits9720677,e1b4e25,0f7fd1e,af728a6).- Design System (mobile + web) migrado y funcionando — ver
docs/design-brief-repartidor-kyc.mdydocs/design-brief-empresa-web.md. - Verificación de identidad del repartidor (KYC) construida de punta a punta (courier-side). Revisión admin/back-office no existe todavía — es la pieza que falta para que un documento pase de "En revisión" a "Verificado".