Falar com a CG MixartContato
Falar com a CG Mixart
02/9

Mentoria para quem vai morar fora

A vitrine: quem vai morar fora encontra quem já mora lá

ChegueiAntes

Mentorias para quem vai morar fora, com pagamento em custódia e repasse ao mentor no exterior.

Cliente
ChegueiAntes (via agência CADMO)
Categoria
Marketplace de mentorias
Período
set 2026
Estado
Em validação: pagamento em sandbox
chegueiantes-163-176-53-20.sslip.io ↗

O problema

Quem vai morar fora junta informação solta de grupo e vídeo, e quem já mora lá não tem como cobrar por uma conversa com segurança: o combinado é por WhatsApp, o pagamento vai adiantado e quem falta não responde por nada. Uma plataforma para isso precisa segurar o dinheiro até a mentoria acontecer, provar quem apareceu na reunião e pagar mentor que mora em outro país, para onde uma plataforma brasileira não repassa direto.

O que foi construído

O mentorado publica uma solicitação com o país, os objetivos da mudança e o estágio em que está. Mentores aprovados naquele país e com objetivos em comum veem a solicitação e se candidatam gastando um desbloqueio da quota do plano, até cinco por solicitação. O mentorado compara, escolhe, marca o horário na agenda do mentor e paga pelo checkout do Asaas, em Pix ou cartão; o valor entra em custódia e o chat abre. A sala no Google Meet é criada pela API, e o clique em Ingressar vira prova. As duas avaliações, ou o tempo, confirmam a mentoria e liberam o dinheiro: saque por Pix para quem recebe no Brasil, remessa mensal com o imposto retido para quem mora fora, e recibo em nome do mentor. Em volta disso, 76 telas: o painel de cada lado e o do admin, que aprova mentores país por país, cuida do Programa Fundadores, das disputas, dos pagamentos e do relatório fiscal do mês.

1.252
testes
Testes automáticos que rodam antes de cada commit
2
trilhas
Trilhas de repasse: real no Brasil e remessa ao exterior
7
tabelas
Tabelas de prova que nem a própria API consegue reescrever
123
rotas
Rotas da API, cada uma com o público conferido por teste

Decisões de engenharia

01

O dinheiro espera a mentoria acontecer

O mentorado paga na página do Asaas, e nenhum campo de cartão é da plataforma. O valor entra em custódia na carteira do mentor, já sem a comissão. A mentoria só é confirmada pelas duas avaliações ou pelo tempo, nunca por um clique; reportar ausência ou abrir chamado sobre ela segura o dinheiro. Pagamento, mentoria, carteira e razão gravam na mesma transação, com concorrência otimista: quem perde a disputa não grava nada.

apps/api/src/ChegueiAntes.Core/Agenda/Mentoria.cs:587 (ConfirmarPorTempo recebe haContestacao), :189 (TemAusenciaEmAberto); apps/api/src/ChegueiAntes.Core/Pagamentos/Carteira.cs:241 (CreditarCustodia), :255 (Liberar); apps/api/src/ChegueiAntes.Web/Jobs/CicloDoDinheiro.cs

02

Pagamento para fora do Brasil: remessa mensal ao mentor no exterior

Plataforma brasileira não faz repasse para o exterior pelos gateways comuns, então o valor segue por uma segunda trilha. O mentor que mora fora declara o país; o valor dele vai para o a receber, a remessa fecha no dia 10 do mês seguinte com o imposto retido, 15% ou 25% conforme a lista de países da Receita lida do texto oficial da norma, e o admin registra o envio feito pelo prestador de câmbio. O mentor recebe o demonstrativo, e remessa, item e envio são registros só de acréscimo.

apps/api/src/ChegueiAntes.Core/Mentores/Enums.cs:42 (TrilhaRepasse: BrlLocal, Internacional); apps/api/src/ChegueiAntes.Core/Pagamentos/Portas.cs:63 (IRailRepasse); apps/api/src/ChegueiAntes.Core/Pagamentos/ImpostoNaRemessa.cs:65-71 (AliquotaGeral 0,15, AliquotaFavorecida 0,25, IN RFB 1.037/2010); apps/api/src/ChegueiAntes.Core/Pagamentos/Remessa.cs; apps/api/src/ChegueiAntes.Web/Jobs/CicloDoDinheiro.cs (FecharRemessas)

03

Integrações por API: Asaas e Google Meet, atrás de portas do domínio

A cobrança, o estorno e o saque falam com o Asaas pela API, atrás de portas do domínio: o núcleo não conhece o gateway, e trocar de fornecedor é trocar um adaptador. O pagamento confirmado chega por webhook, e cada transferência pede aprovação a um segundo webhook, que só libera o saque que a plataforma de fato pediu, com o mesmo valor. Toda chamada externa fica fora da transação e é idempotente pelo id do registro da plataforma. A sala de cada mentoria paga é criada por um job na API do Google Meet.

apps/api/src/ChegueiAntes.Core/Pagamentos/Portas.cs:28 (IGatewayCobranca), :63 (IRailRepasse); apps/api/src/ChegueiAntes.Infrastructure/Pagamentos/Asaas/ (ClienteAsaas, GatewayCobrancaAsaas, RepasseBrlLocalAsaas); apps/api/src/ChegueiAntes.Web/Controllers/WebhookAsaasController.cs:29, ValidacaoDeSaqueAsaasController.cs:31; apps/api/src/ChegueiAntes.Infrastructure/Reunioes/GeradorDeReuniaoGoogleMeet.cs; apps/api/src/ChegueiAntes.Web/Jobs/GeradorDeSalas.cs

04

A prova de quem entrou na sala nem a própria API reescreve

O clique em Ingressar é gravado com a hora, o IP e o aparelho de quem clicou: o BFF repassa o endereço de origem e a API só aceita esse cabeçalho vindo da rede interna. As tabelas de prova (acessos, ausências, razão das carteiras, chat e remessas) são só de acréscimo no próprio banco, porque o papel da API não tem UPDATE nem DELETE nelas. É o que o admin lê numa disputa de falta.

infra/banco/papel-da-aplicacao.sql:59 (lista das 7 tabelas, revoke update, delete, truncate); apps/api/src/ChegueiAntes.Web/Program.cs:300-305 (ForwardedHeaders, rede conhecida); apps/api/tests/ChegueiAntes.Integracao.Tests/PapelDaAplicacaoTests.cs

05

O mentor cancelou: o mentorado troca sem estorno

O pagamento pende da solicitação, não do mentor. Quando o mentor cancela, conta falta para ele, o valor sai da custódia dele e fica guardado. O mentorado escolhe outro entre os que desbloquearam: se for mais caro, paga só a diferença, como outro pagamento; se for mais barato, a sobra vai para a carteira dele e sai por Pix. Ou pede o reembolso, sem prazo.

apps/api/src/ChegueiAntes.Core/Pagamentos/Carteira.cs:302 (EstornarCustodia), :229 (CreditarTroco); apps/api/tests/ChegueiAntes.Core.Tests/TrocaDeMentorTests.cs; apps/api/tests/ChegueiAntes.Funcionais.Tests/TrocaDeMentorTests.cs

06

Recibo em nome do mentor e relatório fiscal do mês

Com a mentoria confirmada, os dois lados baixam o mesmo recibo: o mentor declara que recebeu do mentorado o valor pago, com o dia, a hora e o link da reunião. O CPF de um lado sai mascarado para o outro, e só o mentor vê a comissão. O admin tira a planilha do mês para o contador, uma linha por pagamento.

apps/api/src/ChegueiAntes.UseCases/Pagamentos/CasosDeUsoRecibo.cs:27 (ReciboDaMentoria), :64 (TemRecibo); apps/api/src/ChegueiAntes.UseCases/Pagamentos/CasosDeUsoRelatorioFiscal.cs:33 (CsvAsync)

Stack

Front e BFF
Next.js 16.3 (App Router), React 19.2, TypeScript; o navegador fala só com o BFF, e o BFF com a API
API
.NET 9 em quatro camadas (Core, UseCases, Infrastructure, Web), com a direção das dependências conferida por teste
Banco
PostgreSQL 17, EF Core 9.0.11 com Npgsql 9.0.4, 31 migrações; a API entra num papel sem UPDATE nem DELETE nas tabelas de prova
Pagamentos
Asaas por API: checkout hospedado (Pix e cartão), estorno, saque e webhooks de confirmação e de validação; sandbox no ambiente de testes
Repasse ao exterior
segunda trilha de repasse: remessa mensal com imposto retido pela lista da Receita, envio registrado e demonstrativo ao mentor
Reunião e e-mail
Google Meet API para a sala; caixa de saída transacional com 41 tipos de e-mail, enviados por job com nova tentativa
Design
tokens gerados de figma-tokens.json, Lato hospedada (OFL), versão de celular por um bloco de tokens
Testes
xUnit com Shouldly (981), Vitest (271) e harness visual com Playwright
Infra
Docker Compose atrás do Caddy numa VM Oracle Cloud; backup com teste de restauração
MarketplacePagamento em custódiaPagamentos internacionaisIntegração por APIWebhooksAsaasGoogle Meet APINext.js 16.NET 9PostgreSQLClean ArchitectureOracle Cloud

Telas

Escolher o mentor: experiência no país, visto, preço e avaliações lado a lado
Escolher o mentor: experiência no país, visto, preço e avaliações lado a lado
A sala da reunião e o registro de acesso que prova quem entrou
A sala da reunião e o registro de acesso que prova quem entrou
O chat abre com o pagamento: uma conversa por mentoria
O chat abre com o pagamento: uma conversa por mentoria
O recibo em nome do mentor, com o CPF do outro lado mascarado
O recibo em nome do mentor, com o CPF do outro lado mascarado
O mentor vê as solicitações que combinam com ele e desbloqueia
O mentor vê as solicitações que combinam com ele e desbloqueia
Visão geral do admin: fila de aprovação e o que precisa de atenção
Visão geral do admin: fila de aprovação e o que precisa de atenção
Pagamentos: volume, comissão, custódia e cada transação
Pagamentos: volume, comissão, custódia e cada transação
No celular, a disposição do Material com a identidade da marca
No celular, a disposição do Material com a identidade da marca

Em uso

Pedro contrata uma mentoriaDo cadastro ao pagamento, pela tela: solicitação, desbloqueio, escolha e horário.
A mentoria aconteceChat, sala, avaliação dos dois lados, saque e recibo.
Troca de mentor e reembolsoO mentor cancela e o valor pago fica guardado para o mentorado decidir.
A administraçãoFundadores, bloqueio, pagamentos, relatórios e o relatório fiscal do mês.

O papel da CG Mixart

Arquitetura e engenharia inteira, com um desenvolvedor só: a análise do domínio a partir do fluxo e das 59 telas do Figma, a API em .NET com o domínio isolado por teste de arquitetura, o BFF e as 76 telas em Next, o banco e os papéis dele, os pagamentos em custódia, a trilha de repasse ao exterior, as integrações por API com o Asaas e o Google Meet, a versão de celular e a infra na Oracle Cloud. Também os entregáveis da cliente: o manual do sistema, os casos de uso com 155 prints da tela em uso e 11 vídeos. O fluxo e as telas vieram prontos do designer; as decisões comerciais são da cliente.

Ressalvas e notas técnicas, verificadas no códigoabrir

Roda num ambiente de testes público, com a cliente validando. O pagamento usa o sandbox do Asaas, e a produção depende da conta da cliente no gateway. Ainda não há provedor de e-mail: no ambiente de testes os e-mails vão para o registro da API. O domínio chegueiantes.com.br estava em transferência de titularidade em 26/09/2026. A remessa ao mentor que mora fora é um piloto: a alíquota e o fechamento estão no código, mas o envio é registrado à mão, e a trilha depende do contador, do prestador de câmbio e de um parecer jurídico. Os planos pagos existem no domínio e ainda não podem ser contratados. O texto do recibo e o dos termos de contratação são modelos provisórios, marcados na tela. O front testa só a lógica pura que repete regra do domínio e a leitura de dinheiro digitado; não há teste de componente, e o layout é conferido pelo harness visual. Os prints deste caso saíram do build de produção sobre uma história com pessoas inventadas, com o CPF mascarado.