Plataforma de Cobrança do IBFT (cobranca-api + cobranca-web): o serviço que centraliza a operação
de recuperação de crédito hoje espalhada entre planilha, Kommo, Asaas e Apolo.
O repositório é multi-módulo: modules/frontend (React + Vite + TS) e modules/backend (Rails API).
Toda a documentação vive aqui, em .project/docs/.
Camadas do app Rails no layout padrão (commons:rails 2.0): controllers, jobs, use cases, models ricos e services só de integração, mais os desvios do código atual
Cria os ProductDebit dos débitos importados do checkout (external_id = products.slug) com o progresso do aluno vindo do Apolo; o reimport completa os débitos sem produtos
Tabela audit_logs só de inserção (evento de negócio por cliente, sender user/system/checkout/asaas) e GET /api/v1/customers/:customer_id/audit_logs paginado
Negociação no mockup — 15 tasks: motor testado em tasks/mockup/, inlinado no bundle, e o drawer em duas colunas
high
features/
User stories e critérios de aceite. O faseamento, o grafo de dependências, as decisões de arquitetura
travadas e o glossário de domínio estão em features/roadmap.md — é lá que se
entende em que ordem as features se encaixam e por quê; aqui embaixo estão as 29 individuais.
Máquina de estados do provider_status: como Debits::Repayment cria o parcelamento no Asaas, apaga as cobranças antigas e retoma de onde parou depois de uma falha
O checkout-api ignora as cobranças do acordo criadas pelo nectar-charges e ninguém devolve o acesso do aluno quando ele paga o acordo
medium
Convenções desta documentação
O primeiro nível de .project/docs/ é um conjunto fechado: specs/, plans/, features/,
learnings/, architecture/, guides/, reference/<scope>/ e rules/<scope>/, mais os três
arquivos reservados. Nenhuma outra pasta.
Nome de arquivo e de pasta em inglês, snake_case, sem acento nem espaço. Título, corpo,
headings e tabelas em português. Termo técnico e identificador de código não se traduzem.
Todo doc tem certainty no frontmatter: high (veio do documento original ou de código
verificado), medium (parcialmente reconstruído a partir do código), low (majoritariamente
inferido; precisa de revisão humana).
Todo doc entra neste índice.
guides/ e reference/<scope>/ ainda não existem neste repo — serão criados quando houver conteúdo
que a tabela de roteamento mande para lá.