Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
43a519a
docs: initialize technical debt tracking, roadmap history, and projec…
Apr 28, 2026
9fffbf2
docs: add roadmap and technical debt tracking documentation
Apr 28, 2026
80198c7
feat: implement Keycloak integration and add utility middlewares and …
Apr 29, 2026
a678f3a
feat: implement infrastructure for messaging options, business metric…
Apr 29, 2026
660da09
feat: implement geographic restriction middleware and add comprehensi…
Apr 29, 2026
c74fb53
feat: add backend CI workflow for automated testing and coverage anal…
Apr 29, 2026
d264a38
feat: add document validation extensions and business metrics middlew…
Apr 29, 2026
6dc2103
feat: implement Server-Sent Events (SSE) infrastructure and integrate…
Apr 29, 2026
ba54dfc
feat: implement SSE client for provider verification and add monitori…
Apr 29, 2026
3c62b9f
feat: implement business metrics middleware with associated unit test…
Apr 29, 2026
47913de
feat: implement SSE infrastructure and real-time event streaming for …
Apr 29, 2026
5ddbd7f
feat: implement real-time server-sent events infrastructure with docu…
Apr 29, 2026
4052bd0
feat: implement customer registration command handler and add message…
Apr 29, 2026
61e5b78
feat: add API test files, documentation, and business metrics middlew…
Apr 29, 2026
d2a4c3b
feat: implement geographic restriction management, monitoring metrics…
Apr 29, 2026
776c2d1
feat: implement Playwright request mocking utilities for admin, provi…
Apr 29, 2026
6dda85b
fix: resolve E2E provider test and API client mocking issues
Apr 29, 2026
2087e61
fix: handle empty string X-User-Location header in integration tests
Apr 29, 2026
a0a064c
fix: apply review corrections for E2E and Bru files
Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
- 5432:5432

azurite:
image: mcr.microsoft.com/azure-storage/azurite:latest
image: mcr.microsoft.com/azure-storage/azurite:3.33.0@sha256:2628ee10a72833cc344b9d194cd8b245543892b307d16cf26a2cf55a15b816af
ports:
- 10000:10000
- 10001:10001
Expand Down
20 changes: 0 additions & 20 deletions docs/api-automation.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,29 +138,9 @@ cd tools/api-collections
- ✅ Inicia API em background
- ✅ Aguarda API ficar pronta
- ✅ Gera `api-spec.json`
- ✅ Gera Postman Collections
- ✅ Cria Environments (dev/prod)
- ✅ Para a API

### Opção 2: Node.js apenas (só spec + collections)

```bash
# Pré-requisito: API rodando
cd src/Bootstrapper/MeAjudaAi.ApiService
dotnet run

# Terminal 2: Gerar
cd tools/api-collections
npm install
node generate-postman-collections.js
```

**Vantagens:**
- ✅ Gera api-spec.json
- ✅ Gera Postman Collections
- ✅ Cria environments (dev/prod)
- ✅ Testes automáticos incluídos

## 🔧 Configuração Inicial

### 1. Habilitar GitHub Pages
Expand Down
26 changes: 8 additions & 18 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -2304,16 +2304,9 @@ src/Shared/API.Collections/
#### **Comandos Disponíveis**

```bash
# Gerar todas as collections
cd tools/api-collections
./generate-all-collections.sh # Linux/Mac
./generate-all-collections.bat # Windows

# Apenas Postman
npm run generate:postman

# Validar collections
npm run validate
# Gerar API spec (OpenAPI)
cd src/Bootstrapper/MeAjudaAi.ApiService
dotnet run
```

#### **Estrutura de Output**
Expand Down Expand Up @@ -2348,13 +2341,13 @@ options.OperationFilter<ApiVersionOperationFilter>();

1. **Manter OpenAPI como fonte única da verdade**
2. **Bruno para desenvolvimento diário**
3. **Postman para colaboração e testes**
3. **Gerar collections para colaboração**
4. **Regenerar collections após mudanças na API**
5. **Versionar Bruno collections no Git**

#### **❌ EVITAR**

1. **Edição manual de Postman collections geradas**
1. **Edição manual de collections geradas**
2. **Duplicação de documentação entre formatos**
3. **Collections desatualizadas sem regeneração**
4. **Hardcoding de URLs nos collections**
Expand All @@ -2363,8 +2356,8 @@ options.OperationFilter<ApiVersionOperationFilter>();

1. **Desenvolver** API com documentação OpenAPI
2. **Testar** localmente com Bruno collections
3. **Gerar** Postman collections para colaboração
4. **Compartilhar** com equipe via Postman workspace
3. **Gerar** collections para colaboração
4. **Compartilhar** com equipe via workspace
5. **Regenerar** collections em cada release

### **Exportação OpenAPI para Clientes REST**
Expand All @@ -2385,11 +2378,8 @@ options.OperationFilter<ApiVersionOperationFilter>();

#### **Importar em Clientes de API**

**APIDog**: Importar → Do Arquivo → Selecionar arquivo
**Postman**: Importar → Arquivo → Fazer Envio de Arquivos → Selecionar arquivo
**Insomnia**: Import/Export → Import Data → Selecionar arquivo
**Bruno**: Import → OpenAPI → Selecionar arquivo
**Thunder Client**: Import → OpenAPI → Selecionar arquivo
**Insomnia**: Import/ExportImport Data → Selecionar arquivo

### **Monitoramento e Testes**

Expand Down
16 changes: 16 additions & 0 deletions docs/roadmap-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ Este documento contém o registro de todas as sprints concluídas para fins de a

---

## ✅ Sprint 13 - RabbitMQ Excellence & i18n Tests (Concluída em 28 Abr 2026)

**Objetivo**: Consolidação total da infraestrutura de mensageria, i18n frontend e UI/UX Admin.

### Entregas:
- ✅ **RabbitMQ Excellence**: Implementação real do `RabbitMqInfrastructureManager` com métodos assíncronos (`CreateQueueAsync`, `CreateExchangeAsync`, `BindQueueToExchangeAsync`), eliminando stubs.
- ✅ **Deadlock Fix**: Remoção de deadlocks em `CreateQueueAsync`, `CreateExchangeAsync`, `BindQueueToExchangeAsync` - agora `GetChannelAsync` gerencia lock internamente.
- ✅ **Safe Dispose**: `DisposeAsync` agora adquire lock antes de dispose e usa flag `_disposed` para prevenir operações pós-descarte.
- ✅ **Fail-Fast DI**: `MessagingExtensions` agora lança `InvalidOperationException` quando `IRabbitMqInfrastructureManager` não está registrado (em vez de retornar silenciosamente).
- ✅ **i18n Frontend**: Implementação de `useTranslation` no dashboard Admin, tradução de labels via i18n (`t()`), uso de `useMemo` para otimização.
- ✅ **i18n Test Mocks**: Implementação de mocks de i18next para testes em Admin, Provider e Customer apps com suporte a `defaultValue` (incluindo strings vazias).
- ✅ **UI/UX Admin Portal**: Aplicação de cores da marca (laranja #D96704, brand #E0702B, cream #FDFBF7) no CSS, variáveis CSS para cores secundárias, `data-testid` únicos em CardTitle.
- ✅ **Testes Unitários**: Cobertura superior a 90%, testes de `MessagingExtensions` e `RabbitMqInfrastructureManager` atualizados e passando.

---

## ✅ Sprint 12 - Bookings & Messaging Excellence (Concluída em 26 Abr 2026)

**Objetivo**: Implementar o sistema de agendamentos e consolidar a infraestrutura de mensageria com Rebus.
Expand Down
22 changes: 14 additions & 8 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,27 @@ Este é o planejamento estratégico unificado da plataforma MeAjudaAi.

## 📊 Status Atual (Abril 2026)

**Sprint Atual**: 13 (Infraestrutura & Excelência UX)
**Sprint Atual**: 13.1 (Otimizações e Refinamentos)

**Status**: 🛠️ Em Execução (Início em 27 Abr 2026)
**Status**: 🚧 Em Andamento

**Meta MVP**: 12 a 16 de maio de 2026

**Stack Principal**: .NET 10 LTS + Aspire 13 + PostgreSQL + NX Monorepo + React 19 + Next.js 15 + Tailwind v4

---

## 🏃 Sprint 13.1: Otimizações e Refinamentos (Em Andamento)

* **Performance Zero-Allocation**: Redução drástica de pressão no Garbage Collector em *Hot Paths* (Middlewares de requisições, logging e métricas) e *Application Layer* via `Span<T>` e `ReadOnlySpan<char>`. Eliminação de alocações desnecessárias envolvendo strings e expressões regulares.
* **API Client Collections**: Adição de endpoints SSE para streaming de eventos (`/bookings/{id}/events`, `/providers/{id}/verification-events`), correções de paths em AllowedCitiesAdmin, padronização de variáveis (`{{bookingId}}`), remoção de tools/api-collections e referências a Postman nos docs.
* **Código e Testes**: Extração de constantes de mensagens SSE em BookingRealtimeEventsHandler, pré-compilação de Regex em BusinessMetricsMiddleware, expansão de casos de teste para headers de localização malformados.

---

## 🔮 Roadmaps Futuros (MVP Launch & Além)

### Fase 3: Escala e Provedores Reais (Em Execução)
* **[x] RabbitMQ Excellence**: Consolidação total da infraestrutura de mensageria, removendo stubs e dependências diretas de driver.
* **[ ] i18n Apps Provider/Admin**: Implementação de localização frontend para os apps de Prestador e Administrador.
* **[ ] UI/UX Admin Portal**: Padronização visual com cores da marca e melhorias de usabilidade no portal administrativo.
### Fase 3: Escala e Provedores Reais
* **Provedores de Comunicação (Próximo)**: Substituir Stubs por SendGrid (E-mail), Twilio (SMS) e Firebase (Push).
* **Verificação Automatizada (Próximo)**: OCR via Azure AI Vision e integração com APIs de antecedentes criminais.

Expand All @@ -38,8 +43,9 @@ Este é o planejamento estratégico unificado da plataforma MeAjudaAi.

## ✅ Concluído Recentemente

* **Sprint 11**: Monetização completa (Checkout, Webhooks, Billing Portal, Renovação Automática), Localização i18n Frontend, Skeleton Loaders e cobertura de testes abrangente. (Abril 2026)
* **Sprint 10**: Módulo de Ratings, Moderação de Conteúdo, Login Social Instagram (#141), Alinhamento de Realms Keycloak, Infra CI/CD (OpenAPI gating) e Documentação (coleções Bruno). (Abril 2026)
* **Sprint 13**: RabbitMQ Excellence (infraestrutura real com RabbitMqInfrastructureManager, deadlocks corrigidos, dispose seguro), i18n mocks para testes (Provider/Admin/Customer), fail-fast em DI de Messaging.
* **Sprint 12**: Bookings Module completo, Command Handlers (Reject/Complete), queries de listagem, automação com Domain Events, integração frontend de agenda.
* **Sprint 11**: Monetização completa (Checkout, Webhooks, Billing Portal, Renovação Automática), Localização i18n Frontend, Skeleton Loaders e cobertura de testes abrangente.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

---

Expand Down
17 changes: 8 additions & 9 deletions docs/technical-debt.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,19 @@ Este documento rastreia **débitos técnicos e seu histórico de otimização**.

- [ ] Perfilagem de memória em produção

### 🎨 Melhorias de UI/UX
---

**Severidade**: BAIXA
**Sprint**: Backlog
## 📋 Histórico

- [ ] Aplicar cores da marca (azul, creme, laranja) em todo o Portal Admin (React)
- [ ] Atualizar o tema da biblioteca de componentes React
- [ ] Padronizar a estilização dos componentes
### 🎨 UI/UX Admin Portal - Cores da Marca

**Origem**: Sprint 7.19
**Resolvido em**: Abr 2026 (Sprint 13) | **Severidade original**: BAIXA
Aplicação de cores da marca (laranja #D96704, brand #E0702B, cream #FDFBF7) no CSS do Admin, variáveis CSS para cores secundárias, ring atualizado para cor da marca, e correção de `data-testid` duplicados em CardTitle.

---
### 🌍 i18n Frontend Apps (Admin/Provider/Customer)

## 📋 Histórico
**Resolvido em**: Abr 2026 (Sprint 13) | **Severidade original**: MÉDIA
Implementação de `useTranslation` no dashboard Admin, tradução de labels via i18n, e mocks de i18next para testes em todos os apps (Admin/Provider/Customer) com suporte a `defaultValue` (incluindo strings vazias).

### 🚀 Infraestrutura & Messaging (RabbitMQ Excellence)

Expand Down
Loading
Loading