Plataforma web da comunidade Indie Hacking Brasil — complemento ao Discord com perfis públicos, vitrine de projetos, eventos e feed de Build In Public.
O Indie Hacking Brasil é uma comunidade brasileira com mais de 12 mil membros no Discord, reunindo pessoas que estão construindo seus próprios produtos digitais — Apps, SaaS, Micro-SaaS e Startups.
Esta plataforma serve como complemento ao Discord, oferecendo:
- Perfis públicos permanentes e indexáveis
- Vitrine de projetos com sistema de membros (owner/contributor)
- Eventos da comunidade com fluxo de aprovação
- Feed de Build In Public com atualizações cronológicas dos projetos
- Funcionalidades sociais (seguir, recomendar, comentar) — em breve
| Tecnologia | Uso |
|---|---|
| TanStack Start | Framework full-stack (React 19 + Vite 7) |
| Cloudflare Workers | Runtime edge (deploy + hosting) |
| Cloudflare D1 | Banco de dados SQLite no edge |
| Cloudflare R2 | Storage de arquivos (uploads) |
| Drizzle ORM | ORM para SQLite/D1 |
| Better-Auth | Autenticação (Discord OAuth) |
| Tailwind CSS 4 | Estilização |
| shadcn/ui | Componentes de UI (30+) |
| Biome | Linting e formatação |
| Vitest | Testes |
| Bun | Package manager e runtime |
- Bun instalado
- Wrangler CLI (
bun install -g wrangler) - Uma aplicação Discord configurada com OAuth2
- Clone o repositório
git clone https://github.com/Indie-Hackers-Brasil/website.git
cd website- Instale as dependências
bun install- Configure as variáveis de ambiente
cp .env.example .envPreencha o .env com suas credenciais:
CLOUDFLARE_ACCOUNT_ID,CLOUDFLARE_DATABASE_ID,CLOUDFLARE_D1_TOKEN— para migrations remotas (opcional para dev local)BETTER_AUTH_SECRET— string aleatória com 32+ caracteresBETTER_AUTH_URL—http://localhost:3000DISCORD_CLIENT_ID,DISCORD_CLIENT_SECRET— da sua aplicação Discord
- Configure o banco de dados local
bun run db:local- Rode o servidor de desenvolvimento
bun run devA aplicação estará disponível em http://localhost:3000.
| Script | Descrição |
|---|---|
bun run dev |
Servidor de desenvolvimento (porta 3000) |
bun run build |
Build para produção |
bun run preview |
Preview do build de produção |
bun run deploy |
Build + deploy para Cloudflare Workers |
bun run test |
Rodar testes com Vitest |
bun run lint |
Verificar código com Biome |
bun run format |
Formatar código com Biome |
bun run check |
Lint + format com Biome |
bun run db:generate |
Gerar migrations do Drizzle |
bun run db:migrate |
Aplicar migrations (remoto) |
bun run db:studio |
Abrir Drizzle Studio (UI do banco) |
bun run db:local |
Aplicar migrations no D1 local |
src/
├── components/ # Componentes React (UI + custom)
│ └── ui/ # Componentes shadcn/ui
├── data/
│ ├── constants/ # Variáveis de ambiente, config do site, tags
│ └── services/ # Lógica de negócio (server functions)
├── docs/ # Documentação interna do projeto
│ └── funcionalidades/ # Specs detalhadas por feature
├── lib/
│ ├── auth/ # Configuração do Better-Auth
│ ├── db/ # Drizzle ORM (schemas + migrations)
│ └── validations/ # Schemas Zod para validação
├── routes/ # Rotas (file-based routing do TanStack)
├── router.tsx # Configuração do router
└── styles.css # Estilos globais + variáveis CSS
Para entender a arquitetura, decisões de produto e especificações detalhadas, consulte a documentação em src/docs/:
| Documento | Descrição |
|---|---|
| Visão Geral | Propósito, público-alvo e princípios da plataforma |
| Stack Técnica | Detalhes da stack, convenções e padrões de código |
| Schema do Banco | Estrutura completa do banco de dados |
| Conteúdo Condicional | Lógica de exibição por estado de autenticação |
| Roadmap | Fases de desenvolvimento e progresso atual |
| Funcionalidades | Especificações detalhadas de cada feature |
Contribuições são muito bem-vindas! Leia o guia de contribuição para saber como participar.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- Discord — Junte-se a mais de 12 mil indie hackers brasileiros