Página de submissão de projetos do Superteam Brasil. Founders enviam pitch deck (até 5 arquivos) + link de vídeo, tudo cai automaticamente numa pasta do Google Drive + log numa Google Sheet.
Stack: Next.js 15 (App Router) · React 19 · TypeScript · Tailwind v3 · Google Apps Script (backend Drive)
npm install
cp .env.local.example .env.local
# edita .env.local e cola a URL do Apps Script (passo abaixo)
npm run devAbre http://localhost:3000.
-
Criar pasta + planilha no Drive
- Nova pasta no Drive: "Submissões Superteam BR" → copia o ID da URL
- Nova Google Sheet: "Submissões — Tracker" → copia o ID da URL
-
Criar o Apps Script
- Acessa script.google.com → New Project
- Cola o conteúdo de
apps-script/Code.gs - Substitui as constantes
FOLDER_IDeSHEET_ID - Salva
-
Deploy como Web App
- Botão Deploy → New deployment
- Type: Web app
- Execute as: Me
- Who has access: Anyone (importante)
- Deploy → autoriza permissões → copia a Web app URL
-
Conectar ao site
- Cola a URL no
.env.local:NEXT_PUBLIC_APPS_SCRIPT_URL=https://script.google.com/macros/s/AKf.../exec - Em produção (Vercel), adiciona a mesma env var em Settings → Environment Variables
- Cola a URL no
⚠️ Toda vez que editar oCode.gs, precisa criar uma nova versão em Deploy → Manage deployments → ✏️ → New version. URL continua a mesma.
git init
git add .
git commit -m "init: stbr-submit"
git branch -M main
git remote add origin git@github.com:mrcigarros/stbr-submit.git
git push -u origin mainConecta o repo no Vercel:
- Import → seleciona
mrcigarros/stbr-submit - Framework: Next.js (detecta automaticamente)
- Environment Variables → adiciona
NEXT_PUBLIC_APPS_SCRIPT_URL - Deploy
Depois é só configurar o subdomínio (ex.: submit.superteambr.com) em Vercel → Settings → Domains.
stbr-submit/
├── app/
│ ├── globals.css ← Tailwind + body background
│ ├── layout.tsx ← next/font Bricolage + metadata
│ └── page.tsx ← entry point
├── components/
│ └── SubmitProjectPage.tsx ← componente principal
├── apps-script/
│ └── Code.gs ← cola isso no script.google.com
├── public/ ← (favicon, etc — vazio por enquanto)
├── .env.local.example
├── next.config.mjs
├── package.json
├── postcss.config.mjs
├── tailwind.config.ts
└── tsconfig.json
| Item | Limite | Motivo |
|---|---|---|
| Arquivos por submissão | 5 | Definido em MAX_FILES |
| Tamanho por arquivo | 10MB | Apps Script payload |
| Tamanho total | 30MB | Apps Script payload |
| Submissões/dia | ~20.000 | Quota Apps Script |
Se receber decks gigantes, peça pra mandarem como link do Drive público no campo "Sobre o projeto".
- Email de notificação automático (
MailApp.sendEmailno Apps Script) - Auto-resposta de confirmação pro founder
- reCAPTCHA v3 anti-spam
- i18n PT/EN/ES (já tem o ícone Globe na nav)
- Página
/adminautenticada pra revisar submissões direto na UI - Webhook pra Telegram quando uma submissão chega
Built by @cigarrosnft · Construindo a Solana no Brasil 🇧🇷