first commit

This commit is contained in:
2026-04-21 10:53:35 +01:00
commit bd8fe915f8
40 changed files with 2505 additions and 0 deletions

103
docs/19_TECH_STACK.md Normal file
View File

@@ -0,0 +1,103 @@
# 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