Stack, arquitectura, modelo de datos y operaciΓ³n. Para CTOs e integradores.
Next.js 15
App Router Β· React 19 Β· RSCExpo SDK 52
React Native 0.76 Β· Expo Router 4Tamagui 1.112
Tokens compartidos webβmobileTanStack Query v5
Cache + mutations Β· React 19 compatibleZod 3.23
Schemas compartidos con backendSora + Instrument Serif + JetBrains Mono
Google FontsPostgres (Supabase)
13 tablas Β· RLS Β· ES256 JWTNext.js Route Handlers
22 endpoints Β· Bearer JWTSupabase Auth
OTP correo Β· sesiones cookie/JWTSupabase Storage
Bucket product-images Β· RLS uploadWompi
Nequi Β· Daviplata Β· PSE Β· tarjeta Β· contraentregaResend
Free 10k/mes Β· DKIM/SPFExpo Push API
Server-side wrapper Β· best-effortServientrega Β· Coordinadora
Configurable por sellerVercel Β· EAS Β· pnpm + Turborepo
Auto-deploy desde GitHub masterββ Usuario ββββββββββββββββββββββββββββββββββββββββββββββ
β Comprador Β· Vendedor Β· Admin (en cualquier role) β
ββββββββββββ¬ββββββββββββββββββββββββββββββ¬βββββββββββββββ
βΌ βΌ
ββββββββββββββββ ββββββββββββββββ
β Mobile β β Web + PWA β
β Expo SDK 52 β β Next.js 15 β
ββββββββ¬ββββββββ βββββββββ¬βββββββ
β Bearer JWT β Cookies
βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββ
β API REST (Next.js Route Handlers) β
β /api/{products,orders,push,wishlist,...} β
βββββββββββββββββββββββ¬βββββββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββ
β Supabase Postgres Β· 13 tablas Β· RLS β
β profiles Β· sellers Β· orders Β· wishlists β
β notifications Β· outbox_events Β· β¦ β
ββββββ¬ββββββββββββββββββββββββββββββββββββββββ
βββΊ Wompi (pagos)
βββΊ Resend (emails)
βββΊ Expo Push API (notifs)
[1] Buyer navega /api/products
[2] addToCart() β cookie httpOnly
[3] POST /api/orders/place
βββΊ insert orders + order_items
βββΊ insert outbox_events (order.created)
βββΊ notifySellersNewOrder() β push + inbox
βββΊ sendOrderConfirmationEmail()
[4] Wompi procesa pago β /api/wompi/webhook
[5] Seller: PATCH /orders/[number]/status
βββΊ validate transition (graph)
βββΊ insert outbox_events
βββΊ notifyBuyerOrderStatusInbox()
βββΊ notifyBuyerOrderStatus() β push
βββΊ sendOrderStatusEmail()
[6] Buyer recibe push + inbox
[7] delivered β review habilitado
kid rotable sin downtime.user.id y email. No hay rol "admin" en BD (evita escalaciΓ³n accidental).| Feature | Lib | Backend wiring |
|---|---|---|
| Push notifications | expo-notifications | POST /api/push/register Β· server-side Expo Push API |
| CΓ‘mara + galerΓa | expo-image-picker | Upload directo a Supabase Storage (RLS por seller_id) |
| BiomΓ©trico | expo-local-authentication | Session-lock in-memory Β· pantalla /lock |
| Share WhatsApp | expo-sharing | Deep link whatsapp://send + fallback wa.me |
| OTA updates | eas-cli update | Canal preview/production Β· sin App Store re-review |
git push origin master β Vercel webhook β pnpm install Β· turbo build --filter=@plazi/web β Next.js build Β· Edge CDN + Fluid Compute β Live en plazi.co (~2 min) # Mobile (separado de Vercel) eas build --platform android --profile preview β EAS Cloud (~10 min) β APK descargable desde expo.dev
/admin/reportes con filtros y resumen KPIs por tipo de evento.| Tier | Sellers | Costo infra (USD/mes) |
|---|---|---|
| Bootstrap | 0 β 100 | $0 (Vercel Hobby Β· Supabase Free) |
| MVP | 100 β 1.000 | ~$45 (Vercel Pro Β· Supabase Pro) |
| Crecimiento | 1.000 β 10.000 | ~$500 (Compute add-ons Β· Supabase Team) |
| Escala | 10.000+ | ~$2.500 (dedicated Postgres Β· CDN paid) |
Modelo serverless: el costo escala lineal con trΓ‘fico. Sin sorpresas.
20260606130000 en Supabase Studioplazi.co a Vercel (DNS + cert)eas build β APK Beta + distribuciΓ³n a pilotoAcceso al repo + due diligence completo bajo NDA.
CTO: SebastiΓ‘n MartΓnez Β· sebastian@inventagency.co
Repo: github.com/SebasInvent/plazi (privado)
Docs: plazi.co/equipo/portal-documentacion.html