Fase 2 - CapTable: Controle de Progresso
Início: 23/01/2026
Última Atualização: 26/01/2026 - Fase 2 CONCLUÍDA ✅
Status Geral: 🟢 Todas as semanas concluídas | Fase 2 finalizada
SEMANA 1: Correção Arquitetural (Client → Company)
F2-ARC-BE-001 - Entidade Client.cs
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Entidade criada com validações de CPF/CNPJ, enums DocumentType e ClientStatus adicionados
F2-ARC-BE-006 - Atualizar Company.cs (ClientId)
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Propriedade ClientId adicionada, método Create atualizado
F2-ARC-BE-007 - Atualizar User.cs (ClientId)
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ ClientId adicionado, CompanyId tornou-se nullable
F2-ARC-BE-002 - DTOs: ClientRequest/Response
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ DTOs criados: ClientResponse, CreateClientRequest, UpdateClientRequest, etc
F2-ARC-BE-003 - Validator: ClientValidator
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Validators criados com validação de CPF/CNPJ, email, campos
F2-ARC-BE-004 - Repository: ClientRepository
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Repository completo com CRUD, paginação, queries especializadas
F2-ARC-BE-005 - Controller: ClientsController
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Controller completo, endpoints REST, DI registrado
@@- [x] F2-ARC-BE-008 - Middleware: ClientContextMiddleware
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Middleware criado, extrai ClientId do JWT, valida cliente ativo, AuthService atualizado
@@- [x] F2-ARC-BE-009 - Atualizar CompanyContextMiddleware
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Middleware criado, valida Company pertence ao Client, verifica status Active
SEMANA 2: Shareholders (Backend)
F2-SHR-BE-001 - Entidade Shareholder.cs
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Agregado com validação CPF/CNPJ, ClientId/CompanyId, status e notas
F2-SHR-BE-002/003 - Enums ShareholderType/Status
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Enums já existentes reutilizados
F2-SHR-BE-004/005 - DTOs ShareholderRequest/Response + lista
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Resposta inclui CompanyName, paginado com PagedResult
F2-SHR-BE-006 - Validator ShareholderValidator
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ FluentValidation para CPF/CNPJ, email, phone
F2-SHR-BE-007/013 - Interface/Repository ShareholderRepository
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Dapper com filtros, paginação, busca por documento, soft delete
F2-SHR-BE-014/015 - Service ShareholderService
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Regras de negócio (empresa pertence ao cliente, conflito de documento), mapeia para DTO
F2-SHR-BE-016/020 - ShareholdersController (CRUD)
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ Endpoints GET list/id, POST, PUT, DELETE com ClientContext + Company header opcional
F2-SHR-BE-021 - Registrar DI
Início: 23/01/2026
Fim: 23/01/2026
Observações: ✅ ServiceExtensions registra ShareholderRepository/Service
SEMANA 3: Shareholders Frontend + Share Classes Backend
F2-SHR-FE-001 - Type: Shareholder TypeScript interfaces
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ shareholder.types.ts com enums, interfaces e tipos de request/response
F2-SHR-FE-002 - Service: shareholderService.ts
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ CRUD completo, paginação e filtros
F2-SHR-FE-003/004 - Hooks: useShareholders (queries + mutations)
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ React Query hooks para listagem, detalhe, create, update, delete
F2-SHR-FE-005 - Componente: ShareholderCard
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Card com avatar, tipo, status, documento e ações
F2-SHR-FE-006 - Componente: ShareholderBadge (Type + Status)
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ TypeBadge (Individual/Company/Investment Fund) e StatusBadge (Active/Inactive/Pending)
F2-SHR-FE-007 - Componente: ShareholderFilters
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Busca por nome, filtros de tipo e status, botão limpar
F2-SHR-FE-008 - Página: ShareholdersListPage
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Grid de cards, paginação, filtros, modal de criação
F2-SHR-FE-009 - Modal: ShareholderFormModal
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Form completo com validação, modo create/edit
F2-SHR-FE-010 - Página: ShareholderDetailPage
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Detalhes completos, tabs futuras preparadas, edição e exclusão
F2-SHC-BE-001 - Entidade ShareClass.cs
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Agregado com preferências, conversão, anti-diluição, triggers de atualização
F2-SHC-BE-002 - DTOs: ShareClassRequest/Response
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ ShareClassResponse, CreateShareClassRequest, UpdateShareClassRequest, ShareClassSummaryDto
F2-SHC-BE-003 - Validator: ShareClassValidator
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ FluentValidation para nome, seniority, prices, authorized shares
F2-SHC-BE-004 - Repository: ShareClassRepository
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Dapper CRUD com filtros, paginação, busca por nome, company_id
F2-SHC-BE-005 - Controller: ShareClassesController
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Endpoints REST /api/share-classes, ShareClassService com regras de negócio, DI registrado
SEMANA 4: Shares + Ledger + Cap Table View
F2-SHA-BE-001 - Entidade Share.cs
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Entidade com status, origin, navigation properties
F2-SHA-BE-002 - Entidade ShareTransaction.cs
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Imutável, factory methods para Issue/Transfer/Cancel/Convert
F2-SHA-BE-003 - Enums ShareOrigin, ShareStatus, TransactionType
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Adicionados em Enums.cs
F2-SHA-BE-004 - DTOs de Shares e Transactions
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ ShareDTOs.cs com Request/Response completos + CapTable DTOs
F2-SHA-BE-005 - Validators ShareValidators
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ FluentValidation para Issue/Transfer/Cancel/Convert
F2-SHA-BE-006 - Repository: ShareRepository
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ CRUD, paginação, balance queries
F2-SHA-BE-007 - Repository: ShareTransactionRepository
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Append-only, transaction number generation
F2-SHA-BE-008 - Service: ShareService
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ IssueShares, TransferShares, CancelShares, GetCapTable
F2-SHA-BE-009 - Controller: SharesController
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ Endpoints REST para shares, transactions, balance
F2-CAP-BE-001 - Controller: CapTableController
Início: 24/01/2026
Fim: 24/01/2026
Observações: ✅ GET cap-table/{companyId}, summary-by-type, summary-by-class
SEMANA 5: Frontend Cap Table + Simulador + Documentação
F2-CAP-FE-001 - Types: Share, Transaction, CapTable
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ share.types.ts com enums (ShareOrigin, ShareStatus, TransactionType), interfaces e helpers
F2-CAP-FE-002 - Service: shareService.ts
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ CRUD shares, transactions, operações (issue, transfer, cancel)
F2-CAP-FE-003 - Service: capTableService.ts
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ getCapTable, getSummaryByType, getSummaryByClass
F2-CAP-FE-004 - Hook: useCapTable
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ useCapTable, useShares, useTransactions, useIssueShares, useTransferShares, useCancelShares
F2-CAP-FE-005 - Componente: CapTableStats
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ 4 StatCards (Total Ações, Valor Total, Acionistas, Classes), loading skeleton, utils/format.ts criado
F2-CAP-FE-006 - Componente: CapTableChart
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ Gráfico donut Recharts com view type/class, tooltip customizado, paleta de 10 cores, loading skeleton
F2-CAP-FE-007 - Componente: CapTableTable
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ Tabela com sort em 5 colunas, busca por acionista/classe, barra de progresso %, avatar inicial, loading skeleton
F2-CAP-FE-008 - Página: CapTablePage
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ Página completa integrando Stats, Chart (toggle type/class), Table, resumo por classe, data de referência, botões refresh/export
F2-SIM-BE-001 - Service RoundSimulatorService
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ SimulateRoundAsync com cálculos de diluição, cap table before/after, pool de opções pre/post-money
F2-SIM-BE-002 - DTOs Simulation
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ RoundSimulationRequest/Response, NewInvestorRequest, SimulatedShareholderEntry, OptionPoolInfo
F2-SIM-BE-003 - Controller SimulatorController
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ POST /round, GET /dilution, POST /scenarios (até 5 cenários)
F2-SIM-FE-001 - Modal: RoundSimulatorModal
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ Modal completo com formulário, validação Zod, preview de diluição, lista de investidores, pool de opções
F2-SIM-FE-002 - Componente: SimulationResults
Início: 26/01/2026
Fim: 26/01/2026
Observações: ✅ View integrada no RoundSimulatorModal com cards de resumo, tabela de investidores, comparativo before/after
Entregável
Status
Correção Arquitetural (Client → Company)
✅ 100%
Módulo Shareholders
✅ 100%
Módulo Share Classes
✅ 100%
Módulo Shares & Transactions
✅ 100%
Visualização Cap Table
✅ 100%
Simulador de Rodadas
✅ 100%
Documentação
✅ 100%
Correções Aplicadas (24/01/2026)
Semana 3 - Correções Adicionais
Semana 4 - Correções Adicionais
Email: admin@demo.com
Senha: Admin@123
CompanyId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
ClientId: 00000000-0000-0000-0000-000000000001