尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Sistema de gestão de anfitriões e convidados, inspirado no admin do Programa Multiplicador, porém reescrito, sem identidade/logo do evento e sem vínculo com Lovable. Stack: HTML estático + Supabase via CDN (sem build step), no padrão do repositório.檢視完整 README ↗
Sistema de gestão de anfitriões e convidados, inspirado no admin do Programa Multiplicador, porém reescrito, sem identidade/logo do evento e sem vínculo com Lovable.
Stack: HTML estático + Supabase via CDN (sem build step), no padrão do repositório.
Painel administrativo (/admin/):
/convite) — landing limpa + formulário multi-passo
gerado pelas perguntas configuradas, criando o convidado com UTM./painel) — jornada / convites / ranking (sem "10X Private"
nem vídeo).supabase/migrations/0001_init.sql e rode.grupos, responsaveis, estagios (5 linhas),
anfitrioes (vazia), convidados (vazia), form_perguntas (8 linhas), config
(1 linha). RLS habilitado em todas.Studio → Settings → API → copie Project URL e a chave anon public.
Abra assets/js/config.js e preencha:
export const SUPABASE_URL = "https://SEU-REF.supabase.co";
export const SUPABASE_ANON_KEY = "eyJhbGciOi...";
A chave
anoné pública por design. Nesta fase não há login: o admin fica aberto para quem tiver a URL e o RLS liberaanonpara tudo (ver comentário "TEMPORÁRIO" no0001_init.sql). Ao adicionar o Supabase Auth, troque as policies por policies autenticadas.
Precisa ser servido por HTTP (os import de ES modules não funcionam via
file://). Qualquer servidor estático serve:
admin/index.html aberto.npx serve anfitriões e abra http://localhost:3000/admin/.python -m http.server 8000 dentro de anfitriões/ e abra
http://localhost:8000/admin/.Crie um projeto novo na Vercel para este painel:
breenda_project.anfitriões./ = página institucional (index.html), /login.html = login,
/admin/ = painel (exige login), /checkin-app.html = app de check-in,
/convite.html · /painel.html · /status.html = páginas públicas por link,
/privacidade.html · /termos.html = textos legais.As migrações em supabase/migrations/ são rodadas manualmente
no SQL Editor, em ordem (0001 → 0017). Cada tela nova avisa qual migração falta.
Edge Functions:
supabase functions deploy enviar-email # e-mail (Resend) — precisa dos secrets RESEND_API_KEY / EMAIL_FROM
supabase functions deploy integracoes # dispara webhooks/conectores de saída
supabase functions deploy webhook-in # recebe inscrições de ticketeiras/gateways
supabase functions deploy equipe # usuários de uma organização
supabase functions deploy plataforma # organizações (clientes), limites, convites
supabase functions deploy publico # dados das páginas públicas (só depois do 0017)
Config em supabase/config.toml. Secrets opcionais para
plataforma (e enviar-email): RESEND_API_KEY, EMAIL_FROM, SITE_URL.
Ordem — cada etapa é segura de subir sozinha; o /admin só passa a exigir
login depois do commit 3.
0016_plataforma.sql no SQL Editor (cria organizações, membros,
eventos.org_id, adota os eventos atuais na org "We.events"). Aditiva.plataforma e equipe. Em Supabase → Authentication → URL
Configuration: adicionar https://SEU-DOMINIO/login.html em Redirect URLs
e como Site URL. Configurar SMTP do Resend em Authentication → SMTP
(ou setar RESEND_API_KEY/EMAIL_FROM/SITE_URL nos secrets da função)./admin exige login. Abra https://SEU-DOMINIO/login.html
→ aparece "Configurar a plataforma" → crie a conta de dona (só o e-mail
[email protected]). Logue.papel='admin':
update org_membros set papel='admin' where org_id=(select id from organizacoes where nome='We.events') and email='...';0017_rls_por_org.sql
(troca a RLS aberta por RLS de organização) + deploy de publico + o commit
que aponta convite/painel/status.js para a função publico. Guarde
rollback_0017.sql à mão.checkin-app.html é um PWA: no Chrome do Android (ou Safari do iPhone) →
menu → Adicionar à tela inicial. Abre em tela cheia, com ícone, sem barra do
navegador. É o caminho recomendado — zero build.
Fluxo: login (Supabase Auth) → escolher o evento → escolher o tipo (evento geral ou uma atividade) → escanear o QR do crachá. Para ativar:
Rode supabase/migrations/0015_auth_checkin.sql (libera o papel
authenticated na RLS — sem isso o app loga mas não lê nada).
Deploy da função equipe:
supabase functions deploy equipe
Crie os logins da equipe em Configurações → Equipe de check-in
(a função equipe usa a service role para chamar o auth.admin — a conta
já entra direto, sem confirmar e-mail). Dá para criar/remover/trocar senha
por lá. Alternativa manual: Supabase Studio → Authentication → Users.
Para gerar um .apk / .aab de verdade (Play Store ou instalação manual),
empacote o PWA numa TWA:
https://SEU-DOMINIO/checkin-app.html) → Package for stores → Android.assetlinks.json com a impressão digital (SHA-256)
da chave de assinatura.https://SEU-DOMINIO/.well-known/assetlinks.json
(crie a pasta .well-known/ na raiz do projeto e faça deploy). Isso remove a
barra de URL e liga o app ao site..apk no aparelho, ou publique o .aab no Play Console.O manifest (manifest.webmanifest) e os ícones em
assets/img/app-icon-*.png já estão prontos para o empacotador.
assets/css/theme.css — as
variáveis --cor-laranja, --cor-preto, --cor-branco, os cinzas e as fontes
ficam todas no topo do arquivo.assets/js/config.js
(APP.nomeProduto, APP.marcaHtml, termos "Anfitrião"/"Convidado") e a tabela
config (editável em Configurações).anfitriões/
index.html redireciona para admin/
admin/ painel, anfitrioes, convidados, formulario, configuracoes
assets/css/theme.css tema (tokens de cor num lugar só)
assets/js/ config, supabase (client + queries), ui, e 1 módulo por tela
supabase/migrations/0001_init.sql