top-tran/proposta-toptran.html

281 lines
11 KiB
HTML
Raw Normal View History

2026-05-05 12:53:41 -03:00
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Proposta — TopTran</title>
<style>
@page {
size: A4;
margin: 18mm 16mm;
}
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
color: #1a1a1a;
line-height: 1.5;
font-size: 10.5pt;
margin: 0;
}
header {
border-bottom: 3px solid #0a0a0a;
padding-bottom: 12px;
margin-bottom: 22px;
}
header h1 {
margin: 0 0 4px 0;
font-size: 22pt;
color: #0a0a0a;
}
header .subtitle {
color: #555;
font-size: 11pt;
}
header .meta {
margin-top: 8px;
font-size: 9pt;
color: #777;
}
h2 {
font-size: 13.5pt;
color: #0a0a0a;
border-bottom: 1px solid #ddd;
padding-bottom: 4px;
margin-top: 22px;
margin-bottom: 10px;
}
h3 {
font-size: 11.5pt;
color: #222;
margin-top: 14px;
margin-bottom: 6px;
}
p { margin: 6px 0; }
ul { margin: 6px 0; padding-left: 22px; }
li { margin: 3px 0; }
table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
font-size: 10pt;
}
th, td {
text-align: left;
padding: 7px 10px;
border-bottom: 1px solid #e3e3e3;
}
th {
background-color: #f4f4f4;
font-weight: 600;
}
td.num, th.num { text-align: right; }
.price-table td:last-child { font-weight: 600; }
.highlight-box {
background-color: #f8f8f8;
border-left: 4px solid #0a0a0a;
padding: 12px 16px;
margin: 14px 0;
border-radius: 2px;
}
.recommendation {
background-color: #fff8e6;
border: 1px solid #f0d480;
padding: 14px 18px;
margin-top: 14px;
border-radius: 4px;
}
.recommendation strong { color: #6b4f00; }
code {
font-family: "SF Mono", Consolas, monospace;
background-color: #f0f0f0;
padding: 1px 5px;
border-radius: 3px;
font-size: 9.5pt;
}
footer {
margin-top: 30px;
padding-top: 12px;
border-top: 1px solid #ddd;
font-size: 8.5pt;
color: #888;
text-align: center;
}
.badge {
display: inline-block;
background: #0a0a0a;
color: #fff;
font-size: 8pt;
padding: 2px 7px;
border-radius: 3px;
margin-right: 4px;
}
</style>
</head>
<body>
<header>
<h1>Proposta Comercial — TopTran</h1>
<div class="subtitle">Aplicativo mobile + backend para gestão de corridas de transporte</div>
<div class="meta">Análise técnica e estimativa de valor &middot; Maio de 2026</div>
</header>
<h2>1. Escopo entregue</h2>
<h3>Backend — API REST</h3>
<p><span class="badge">Node.js</span><span class="badge">Express 5</span><span class="badge">TypeScript</span><span class="badge">Prisma 7</span><span class="badge">PostgreSQL</span><span class="badge">Docker</span></p>
<ul>
<li>~1.100 linhas de código próprio, arquitetura em camadas (routes → middleware → controller → service → repository)</li>
<li>Autenticação JWT com access token (15 min) + refresh token (7 dias)</li>
<li>Validação de input com Zod, hash de senha com bcrypt</li>
<li>13 endpoints REST: <code>/auth</code> (register, login, logout), <code>/users</code> (me, profile, update, delete), <code>/sync</code> (companies, rides — upload e download)</li>
<li>Deploy completo com Docker + Compose (ambientes <em>development</em> e <em>production</em>) e script de deploy automatizado</li>
</ul>
<h3>Aplicativo Mobile</h3>
<p><span class="badge">React Native 0.83</span><span class="badge">Expo SDK 55</span><span class="badge">Expo Router</span><span class="badge">SQLite</span><span class="badge">TypeScript</span></p>
<ul>
<li>~4.460 linhas de código distribuídas em 21 arquivos</li>
<li><strong>11 telas:</strong> login, cadastro, dashboard, lançamento de corrida, histórico, empresas (CRUD), relatório mensal com PDF, perfil (foto + bio), sincronização com timeline visual, hub de cadastros, redirect de corrida</li>
<li><strong>Offline-first:</strong> SQLite local com 4 tabelas e sincronização inteligente (compara IDs locais com servidor)</li>
<li>Tema escuro customizado aplicado em todo o app</li>
<li>Geração e compartilhamento de relatório em PDF (<code>expo-print</code> + <code>expo-sharing</code>)</li>
<li>Upload de foto de perfil via <code>expo-image-picker</code></li>
<li>Build Android nativo com <em>keystore</em> de produção assinado (<code>.jks</code>)</li>
<li>Configuração EAS pronta para futuros builds</li>
</ul>
<h2>2. Estimativa de esforço técnico</h2>
<table>
<thead>
<tr><th>Frente de trabalho</th><th class="num">Horas estimadas</th></tr>
</thead>
<tbody>
<tr><td>Backend (API + autenticação + sync + deploy Docker)</td><td class="num">50 70 h</td></tr>
<tr><td>Mobile — telas e UI (11 telas com tema custom)</td><td class="num">70 90 h</td></tr>
<tr><td>Mobile — sincronização offline-first + SQLite + lógica de negócio</td><td class="num">30 40 h</td></tr>
<tr><td>Relatório PDF + perfil + upload de imagem</td><td class="num">15 20 h</td></tr>
<tr><td>Build / assinatura Android + ajustes de New Architecture</td><td class="num">15 20 h</td></tr>
<tr><td>Testes, debug em dispositivo, polimento</td><td class="num">20 30 h</td></tr>
<tr style="background-color: #f4f4f4;"><td><strong>Total estimado</strong></td><td class="num"><strong>200 270 h</strong></td></tr>
</tbody>
</table>
<h2>3. Faixa de preço sugerida</h2>
<p>Como o projeto é um <strong>aplicativo interno corporativo</strong> — sem publicação em loja pública, sem onboarding de usuário externo e sem complexidade de marketing — a precificação é mais direta:</p>
<table class="price-table">
<thead>
<tr><th>Cenário</th><th class="num">Valor/hora</th><th class="num">Preço total</th></tr>
</thead>
<tbody>
<tr><td><strong>Mínimo</strong> — freelancer pleno, projeto direto</td><td class="num">R$ 90/h</td><td class="num">R$ 18.000 24.000</td></tr>
<tr><td><strong>Justo</strong> — fullstack experiente, entrega completa</td><td class="num">R$ 130/h</td><td class="num">R$ 26.000 35.000</td></tr>
<tr><td><strong>Premium</strong> — sênior, com garantia e suporte inicial</td><td class="num">R$ 180/h</td><td class="num">R$ 36.000 48.000</td></tr>
</tbody>
</table>
<div class="highlight-box">
<strong>O que justifica o valor:</strong>
<ul style="margin-top: 6px;">
<li>Stack moderna e correta (Expo SDK 55, React Native 0.83, Prisma 7)</li>
<li>Arquitetura limpa no backend, com separação real de responsabilidades</li>
<li>Sincronização offline-first não trivial: bidirecional, com reconciliação de IDs e flag <code>synced</code></li>
<li>App em produção, com APK assinado e pronto para distribuição interna</li>
</ul>
</div>
<h3>Itens não inclusos no preço de desenvolvimento</h3>
<table>
<thead>
<tr><th>Item</th><th class="num">Custo recorrente</th></tr>
</thead>
<tbody>
<tr><td>Hospedagem do backend (VPS)</td><td class="num">R$ 60 150 / mês</td></tr>
<tr><td>Manutenção mensal e correções</td><td class="num">R$ 800 2.000 / mês</td></tr>
<tr><td>Novas features (push, dashboard web, multi-empresa real)</td><td class="num">sob orçamento</td></tr>
</tbody>
</table>
<h2>4. Modelo alternativo — Aluguel / SaaS</h2>
<p>Em vez de venda única do código-fonte, o aplicativo pode ser disponibilizado em modelo de assinatura (SaaS): o cliente não compra o app, paga uma mensalidade pelo uso. Setup baixo, receita recorrente, atualizações contínuas inclusas.</p>
<h3>Setup inicial (taxa única)</h3>
<table>
<thead>
<tr><th>Faixa</th><th class="num">Valor</th></tr>
</thead>
<tbody>
<tr><td>Setup enxuto — cliente fornece a VPS</td><td class="num">R$ 1.500</td></tr>
<tr><td>Setup completo — VPS, domínio e deploy gerenciados</td><td class="num">R$ 2.500 3.500</td></tr>
</tbody>
</table>
<p style="font-size: 9.5pt; color: #555;">Inclui deploy do backend, criação do banco, geração do APK assinado, cadastro inicial de empresas/usuários e treinamento de 1 2 h.</p>
<h3>Planos mensais</h3>
<table class="price-table">
<thead>
<tr><th>Plano</th><th>Limite</th><th class="num">Mensal</th><th class="num">Anual (10% off)</th></tr>
</thead>
<tbody>
<tr><td><strong>Básico</strong></td><td>até 5 motoristas, 1 empresa</td><td class="num">R$ 349</td><td class="num">R$ 3.770</td></tr>
<tr><td><strong>Profissional</strong></td><td>até 20 motoristas, até 5 empresas, suporte prioritário</td><td class="num">R$ 899</td><td class="num">R$ 9.710</td></tr>
<tr><td><strong>Empresarial</strong></td><td>usuários e empresas ilimitados, customizações leves, SLA</td><td class="num">R$ 1.890</td><td class="num">R$ 20.412</td></tr>
</tbody>
</table>
<h3>Alternativa por usuário ativo</h3>
<p>Se o cliente preferir escalar conforme o uso real:</p>
<ul>
<li><strong>R$ 29 por motorista / mês</strong>, mínimo de 5 usuários (R$ 145/mês)</li>
<li>Setup de R$ 2.500</li>
<li>Inclui hospedagem, atualizações e correções de bug</li>
</ul>
<h3>O que está incluso na mensalidade</h3>
<ul>
<li>Hospedagem do backend em VPS gerenciada</li>
<li>Banco PostgreSQL com backups diários</li>
<li>Atualizações de versão e correções de bugs</li>
<li>Suporte por WhatsApp/e-mail (tempo de resposta conforme o plano)</li>
<li>Geração de novas versões do APK quando houver atualização</li>
</ul>
<h3>Não incluso (cobrado à parte)</h3>
<table>
<thead>
<tr><th>Item</th><th class="num">Valor</th></tr>
</thead>
<tbody>
<tr><td>Novas funcionalidades sob demanda</td><td class="num">R$ 130 150 / h</td></tr>
<tr><td>Migração de dados de sistema legado</td><td class="num">sob orçamento</td></tr>
<tr><td>Integrações externas (ERP, gateways de pagamento, etc.)</td><td class="num">sob orçamento</td></tr>
<tr><td>Publicação na Play Store (taxa Google + serviço)</td><td class="num">USD 25 + R$ 600 1.000</td></tr>
</tbody>
</table>
<div class="highlight-box">
<strong>Ponto de equilíbrio e benefícios do modelo:</strong>
<ul style="margin-top: 6px;">
<li>Plano Profissional (R$ 899/mês) se equipara à venda de R$ 30.000 em aproximadamente 33 meses</li>
<li>Para o cliente: vira despesa operacional (OPEX) em vez de investimento (CAPEX) — geralmente mais fácil de aprovar</li>
<li>Para o fornecedor: receita previsível, atualizações contínuas e relação de longo prazo</li>
<li>Sem risco de o cliente ficar com versão desatualizada ou sem suporte</li>
</ul>
</div>
<h2>5. Recomendação final</h2>
<div class="recommendation">
<p style="margin-top: 0;"><strong>Modelo de venda única:</strong> R$ 25.000 R$ 30.000, com 30 dias de garantia para correção de bugs. Valor por hora alternativo: R$ 120 R$ 150/hora.</p>
<p style="margin-bottom: 0;"><strong>Modelo SaaS recomendado:</strong> Setup R$ 2.500 + Plano Profissional R$ 899/mês — equilíbrio entre acessibilidade para o cliente e sustentabilidade do serviço.</p>
</div>
<footer>
Proposta gerada com base em análise direta do código-fonte do projeto TopTran &middot; backend + toptran-app
</footer>
</body>
</html>