Site oficial da comunidade Café Bugado, um espaço para desenvolvedores, designers e entusiastas de tecnologia que querem aprender, compartilhar e crescer juntos — com muito café e zero formalidade.
| Camada | Tecnologia |
|---|---|
| Framework | React 18 + TypeScript |
| Build | Vite 5 |
| Roteamento | TanStack Router v1 |
| Estilização | Tailwind CSS v3 |
| Ícones | Lucide React |
| Banco de dados | Supabase (eventos) |
| Resend | |
| Notificações | Sonner |
| Validação | Zod |
| Deploy | Vercel |
| Gerenciador de pacotes | pnpm |
src/
├── components/
│ ├── home/
│ │ ├── Hero.tsx # Seção principal com animações e terminal
│ │ ├── Features.tsx # Cards de funcionalidades da comunidade
│ │ └── Events.tsx # Listagem de eventos via Supabase
│ ├── layout/
│ │ ├── Header.tsx # Navegação desktop + mobile bottom bar
│ │ ├── Footer.tsx # Rodapé com links e redes sociais
│ │ └── ThemeToggle.tsx # Botão de alternância light/dark
│ └── ui/
│ ├── Button.tsx
│ ├── LinkButton.tsx
│ └── index.ts
├── context/
│ └── ThemeContext.tsx # Contexto de tema (light/dark)
├── lib/
│ └── supabase.ts # Cliente Supabase configurado
├── pages/
│ ├── Home.tsx # Página inicial
│ ├── EventsPage.tsx # Página de eventos (/eventos)
│ ├── ContactPage.tsx # Página de contato (/contato)
│ └── NotFound.tsx # Página 404
├── tokens/
│ └── index.ts # Design tokens
└── main.tsx # Entry point + definição de rotas
| Rota | Componente | Descrição |
|---|---|---|
/ |
Home |
Página inicial com Hero e Features |
/eventos |
EventsPage |
Listagem de eventos futuros da comunidade |
/contato |
ContactPage |
Formulário de contato |
* |
NotFound |
Página 404 personalizada |
Copie o arquivo de exemplo e preencha os valores:
cp .env.example .env# Resend — envio de e-mails do formulário de contato
RESEND_API_KEY=sua_chave_aqui
CONTACT_TO_EMAIL=seu_email@gmail.com
CONTACT_FROM_EMAIL=Nome do Projeto <onboarding@resend.dev>
# Supabase — projeto agendas_eventos (somente leitura)
VITE_SUPABASE_URL=sua_url_aqui
VITE_SUPABASE_ANON_KEY=sua_chave_anon_aqui
# URL base da plataforma de eventos
VITE_EVENTOS_BASE_URL=https://eventos.cafebugado.com.brNunca commite o arquivo
.env. Ele já está no.gitignore.
Os eventos são lidos diretamente do banco de dados Supabase do projeto agendas_eventos usando a anon key (somente leitura). Nenhuma escrita é realizada por esta aplicação.
| Tabela | Descrição |
|---|---|
eventos |
Dados do evento: nome, data, horário, imagem, modalidade, cidade etc. |
tags |
Categorias dos eventos (nome e cor) |
evento_tags |
Relação N:N entre eventos e tags |
- Exibe apenas eventos futuros (a partir de hoje), ordenados pela data mais próxima
- Mostra 9 eventos por vez
- Badge dinâmico na imagem do card: Hoje (pulsando) / Amanhã / dia da semana (para eventos em até 6 dias)
- Eventos sem tags recebem automaticamente a tag Tech
- Cada card redireciona para
eventos.cafebugado.com.br/eventos/{id} - O botão "Ver mais eventos" redireciona para
eventos.cafebugado.com.br/eventos
- Node.js 18+
- pnpm
pnpm installpnpm devAcesse em http://localhost:5173.
pnpm buildpnpm previewpnpm lint| Branch | Finalidade |
|---|---|
prod |
Produção (deploy automático na Vercel) |
dev |
Desenvolvimento / homologação (preview na Vercel) |
# Partir sempre de dev atualizado
git checkout dev && git pull
git checkout -b feature/minha-feature
# Após desenvolver, validar localmente
pnpm lint && pnpm build
# Subir a branch e abrir PR para dev
git push -u origin feature/minha-feature- PR para
dev→ gera preview na Vercel - PR de
devparaprod→ deploy em produção (exige 1 aprovação + CI verde)
git checkout prod && git pull
git checkout -b hotfix/descricao
# Corrigir, abrir PR para prod
# Após merge, fazer back-merge de prod para dev| Workflow | Gatilho | O que faz |
|---|---|---|
ci.yml |
Push/PR em dev e prod |
pnpm install, lint, build |
deploy.yml |
Push em dev ou prod |
Deploy na Vercel (preview ou produção) |
VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID
Entre pelo canal que preferir: