2.2 KiB
2.2 KiB
Tech Stack
Stack selecionada
Aplicação
- Next.js 16
- React
- TypeScript
Estilo e UI
- Tailwind CSS
- shadcn/ui
- Lucide Icons
Dados e backend
- PostgreSQL
- Prisma ORM
- Zod
- React Hook Form
Plataforma e serviços
- Supabase Database
- Supabase Auth
- Supabase Storage
Deploy recomendado
- Vercel para a aplicação web
- Supabase para base de dados, autenticação e ficheiros
Justificação da stack
A stack foi escolhida para maximizar:
- rapidez de desenvolvimento
- simplicidade arquitetural
- boa legibilidade para agentes de IA
- facilidade de manutenção
- boa experiência para construir dashboards, formulários, listagens e workflows operacionais
Princípios da arquitetura técnica
- Uma única codebase full-stack
- Frontend e backend no mesmo projeto
- Regras de negócio isoladas da camada visual
- Base de dados relacional como fonte de verdade
- Validação partilhada e explícita
- Preparação para crescer sem reescrever a base
Decisões associadas
- Não usar backend separado na V1
- Não usar microserviços na V1
- Não usar GraphQL na V1
- Não desenvolver app mobile nativa na V1
Componentes por responsabilidade
Next.js
Responsável por:
- interface da aplicação
- routing
- páginas
- server components
- route handlers
- server actions, quando fizer sentido
Prisma
Responsável por:
- schema de dados
- migrations
- acesso type-safe à base de dados
PostgreSQL
Responsável por:
- persistência principal
- integridade relacional
- consultas operacionais e relatórios simples
Supabase
Responsável por:
- alojamento da base de dados PostgreSQL
- autenticação base
- storage para ficheiros e imagens, quando ativado
Tailwind + shadcn/ui
Responsáveis por:
- consistência visual
- rapidez na criação de UI
- componentes reutilizáveis
Zod + React Hook Form
Responsáveis por:
- validação
- formulários previsíveis
- redução de erros de input
Dependências candidatas adicionais
- TanStack Table para tabelas operacionais
- date-fns para datas
- clsx / tailwind-merge para composição de classes
Itens adiados
- filas assíncronas
- Redis
- serviços de eventos
- arquitetura multi-tenant
- monitorização avançada