Portfólio de alta performance da Inovacode, desenvolvido com Astro 5, React 19, Tailwind CSS v4, Phosphor Icons, Drizzle ORM e deploy otimizado para o Cloudflare Pages.
├── .github/
│ └── workflows/ # Pipeline de auditoria contínua e deploy Cloudflare Pages
├── docs/
│ ├── features/ # Documentações técnicas de recursos e segurança
│ └── workflows/ # Diretrizes de GitHub Issues e Pull Requests
├── public/ # Assets estáticos, robots.txt, sitemap.xml e _headers
├── src/
│ ├── components/ # Componentes React e Astro (UI, Seções, Modais)
│ ├── layouts/ # Layout principal, metatags e Schema JSON-LD
│ ├── lib/ # Database Drizzle e clientes de serviço
│ ├── pages/ # Rotas Astro (Home, 404, Obrigado, Privacidade, Termos, API)
│ ├── styles/ # Estilos globais e tokens Tailwind
│ ├── types/ # Tipagens estritas TypeScript (sem 'any')
│ └── middleware.ts # Middleware Astro para segurança e cabeçalhos
└── tests/ # Suíte de testes automatizados (Vitest)
-
Instalar dependências:
pnpm install
-
Configurar variáveis de ambiente: Copie
.env.examplepara.env(nunca commitar chaves reais):cp .env.example .env
-
Configurar hooks do Git:
./scripts/setup-hooks.sh
-
Executar em desenvolvimento:
pnpm dev
-
Acessar localmente:
- Aplicação:
http://localhost:4321 - API de Contato:
http://localhost:4321/api/contact
- Aplicação:
Todo push em qualquer branch aciona o workflow .github/workflows/audit-and-compliance.yml, garantindo:
- Secret Scanning: Varredura de credenciais com Gitleaks.
- Dependency Audit:
pnpm audit --audit-level=highpara bloquear vulnerabilidades conhecidas. - Lint & Commitlint: Validação estrita de ESLint e Conventional Commits.
- TypeScript:
tsc --noEmitsem tiposany. - Knip: Detecção de exports órfãos e pacotes desnecessários.
- Testes Unitários: Testes automatizados com Vitest.
- Build de Produção: Compilação sem falhas com Astro e Tailwind.
O deploy para o Cloudflare Pages só é liberado na branch main após 100% de aprovação dos checks.
- Diretrizes de GitHub Issues & PRs
- Guia de Contribuição
- Segurança & Conformidade LGPD
- Setup do Banco de Dados
- Framework: Astro 5 (Islands Architecture + Edge Adapter)
- UI: React 19 + Framer Motion
- Design & Ícones: Tailwind CSS v4 + Phosphor Icons
- Banco de Dados: PostgreSQL com Drizzle ORM
- Validação: Zod
- Infraestrutura & Borda: Cloudflare Pages + Resend
- Testes & Auditoria: Vitest + ESLint + Gitleaks + Knip