Skip to content

Indie-Hackers-Brasil/website

Repository files navigation

Indie Hacking Brasil

Cloudflare Workers React 19 License: MIT

Plataforma web da comunidade Indie Hacking Brasil — complemento ao Discord com perfis públicos, vitrine de projetos, eventos e feed de Build In Public.

Sobre

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

Stack Técnica

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

Como Rodar Localmente

Pré-requisitos

Setup

  1. Clone o repositório
git clone https://github.com/Indie-Hackers-Brasil/website.git
cd website
  1. Instale as dependências
bun install
  1. Configure as variáveis de ambiente
cp .env.example .env

Preencha 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+ caracteres
  • BETTER_AUTH_URLhttp://localhost:3000
  • DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET — da sua aplicação Discord
  1. Configure o banco de dados local
bun run db:local
  1. Rode o servidor de desenvolvimento
bun run dev

A aplicação estará disponível em http://localhost:3000.

Scripts Disponíveis

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

Estrutura do Projeto

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

Documentação

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

Como Contribuir

Contribuições são muito bem-vindas! Leia o guia de contribuição para saber como participar.

Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Comunidade

  • Discord — Junte-se a mais de 12 mil indie hackers brasileiros

Releases

No releases published

Packages

 
 
 

Contributors