Lançamento padronizado de ensaios da orquestra com auditoria e fila offline.
Standardized orchestra rehearsal attendance with audit trail and offline queue.
PT-BR · English · Live Demo · Stack · Architecture · Quick Start · Author
Product note: mobile-first Expo app for orchestra rehearsal launch/attendance. The Vercel surface is a web demo with known limitations vs the native app (see scope).
O LançaEnsaio unifica o lançamento de ensaios (Irmãos / Irmãs) com formulário padronizado, auditoria, fila offline e integração Supabase Edge Function → Google Sheets.
Controle de ensaio em planilhas soltas e aparelhos diferentes gera inconsistência, retrabalho e falta de rastreio quando a rede falha.
Equipes de orquestra / ensaio que precisam registrar presença de forma padronizada no celular, com modo offline.
- Modo unificado de lançamento (fluxos Irmãos / Irmãs)
- Fila offline e sincronização quando a rede volta (
@react-native-community/netinfo) - Persistência local (AsyncStorage / Secure Store conforme fluxo)
- Backend Supabase (Edge Functions) com destino Google Sheets
- Web demo para testar no navegador (Vercel)
- Web demo não substitui 100% o app nativo (APIs de device / offline)
- Depende de projeto Supabase + secrets configurados
- Google Sheets é o destino operacional documentado — não é um ERP coral completo
LançaEnsaio standardizes rehearsal attendance (Brothers / Sisters flows) with auditability, an offline queue and Supabase Edge Function → Google Sheets integration.
Spreadsheet-only attendance across devices creates inconsistency, rework and lost records when connectivity drops.
Orchestra / rehearsal teams that need phone-first standardized attendance with offline support.
- Unified launch flows (Brothers / Sisters)
- Offline queue + sync when connectivity returns
- Local persistence (AsyncStorage / Secure Store as designed)
- Supabase Edge Functions targeting Google Sheets
- Browser web demo on Vercel
- Web demo does not fully replace the native app
- Requires configured Supabase project + secrets
- Google Sheets is the documented sink — not a full choir ERP
| Surface | URL |
|---|---|
| Public lab | https://lancaensaio.vercel.app |
| GitHub | see Repo badge above |
How to try: open the web demo → walk through a rehearsal launch form → note offline/native differences vs Expo Go / APK.
| Layer | Technology |
|---|---|
| Mobile | Expo 54, React Native, TypeScript, Expo Router, Zustand |
| Backend | Supabase (Edge Functions, config in supabase/) |
| Demo | Vercel web export of the Expo app |
mobile/ Expo app (UI, offline queue, forms)
supabase/ Edge functions + config
docs/ runbooks / redesign notes
vercel.json web demo deployFlow: form → local queue → sync → Edge Function → Google Sheets (+ audit fields).
Prerequisites: Node.js 20+, Expo Go (or Android build toolchain), Supabase project.
cd mobile
npm install
cp .env.example .env # if present — fill Supabase keys
npx expo startAPK / EAS notes: see COMO_GERAR_APK.md and DEPLOY_INSTRUCTIONS.md in the repo root.
- Offline-first queue so weak venue Wi-Fi does not block attendance
- Supabase Edge Function as a controlled write path to Sheets
- Web demo on Vercel for portfolio review without installing APK
- Harden web/native parity for demo reviewers
- Stronger conflict handling on sync
- Operational dashboards on top of Sheets / Supabase
Felipe Alirio Baruja — data / product / full-stack portfolio.
- Portfolio: https://barujafe.vercel.app/
- GitHub: https://github.com/BarujaFe1
- LinkedIn: https://www.linkedin.com/in/barujafe/
License to be defined — no LICENSE file in this repository yet.