Skip to content

solanabr/stbr-submit

Repository files navigation

stbr-submit

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)


Setup local

npm install
cp .env.local.example .env.local
# edita .env.local e cola a URL do Apps Script (passo abaixo)
npm run dev

Abre http://localhost:3000.


Setup do backend Drive (10 min)

  1. 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
  2. Criar o Apps Script

  3. 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
  4. 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

⚠️ Toda vez que editar o Code.gs, precisa criar uma nova versão em Deploy → Manage deployments → ✏️ → New version. URL continua a mesma.


Deploy no Vercel

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 main

Conecta o repo no Vercel:

  1. Import → seleciona mrcigarros/stbr-submit
  2. Framework: Next.js (detecta automaticamente)
  3. Environment Variables → adiciona NEXT_PUBLIC_APPS_SCRIPT_URL
  4. Deploy

Depois é só configurar o subdomínio (ex.: submit.superteambr.com) em Vercel → Settings → Domains.


Estrutura

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

Limites

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".


Próximas iterações

  • Email de notificação automático (MailApp.sendEmail no 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 /admin autenticada pra revisar submissões direto na UI
  • Webhook pra Telegram quando uma submissão chega

Built by @cigarrosnft · Construindo a Solana no Brasil 🇧🇷

Releases

No releases published

Packages

 
 
 

Contributors