Agendamento online para pequenos negócios de serviço em Angola (salões, barbearias, clínicas estéticas). ASP.NET Core Clean Architecture + Next.js, multi-tenant, lembretes via WhatsApp wa.me.
# KUTA
> *Kuta* (Kimbundu): preparar, organizar, arrumar.
Agendamento online para pequenos negócios de serviço em Angola — salões, barbearias,
clínicas estéticas e estúdios que hoje marcam tudo por WhatsApp/DM manualmente.
## O problema
Dupla marcação, mensagens perdidas fora do horário de expediente e no-shows custam
tempo à equipa e receita ao negócio. Não existe solução local para este segmento.
## A solução
- **Link público de marcação** para partilhar no WhatsApp/Instagram (cliente marca sem instalar nada)
- **Confirmação e lembrete via WhatsApp** com um clique — sem API paga, sem risco de banimento
- **Painel do dono**: agenda do dia, serviços, horários de funcionamento, estados de marcação
## Stack
| Camada | Tecnologia |
|---|---|
| Backend | ASP.NET Core (.NET 10), Clean Architecture |
| Base de dados | PostgreSQL + EF Core |
| Auth | Identity + JWT em cookie httpOnly |
| Jobs agendados | Hangfire (lembretes) |
| Frontend | Next.js (PWA para o painel) |
| WhatsApp | Links `wa.me` pré-preenchidos (Fase 1 — sem API paga) |
Sem MediatR, sem AutoMapper — decisões conscientes documentadas em `docs/`.
## Arquitetura
```
Kuta.Domain ← não depende de nada
Kuta.Application ← depende só de Domain
Kuta.Infrastructure ← depende de Application
Kuta.Api ← ponto de composição
```
Multi-tenant por `TenantId` com global query filter + interceptor de escrita no EF Core
(leitura e escrita protegidas estruturalmente).
## Estado
Esqueleto da solução (Milestone 1 em curso). Roadmap completo em `docs/05-plano-implementacao.md`.
## Documentação
- `docs/01-problema.md` — problema e evidência
- `docs/02-arquitetura.md` — decisões técnicas
- `docs/03-especificacao-funcional.md` — fluxos do MVP
- `docs/04-integracoes.md` — WhatsApp (Fase 1 vs Fase 2)
- `docs/05-plano-implementacao.md` — milestones
- `docs/06-estrutura-codigo-e-praticas.md` — convenções
## Setup
```bash
./scripts/setup-clean-architecture.sh
```
Cria a solução, os 4 projetos, aplica as referên …