Documentação Plataforma Ingoo
Visão técnica e funcional completa do sistema Ingoo — para apresentação executiva, onboarding de devs e parceiros.
1. Visão geral
A Ingoo é uma rede de aluguel de power banks portáteis distribuídos em comércios — bares, hotéis, casas de festa, eventos. O usuário escaneia um QR Code na máquina, retira um power bank, leva consigo, e devolve em qualquer outra máquina da rede. A tarifação é por hora, com 30 minutos grátis no primeiro uso.
Proposta de valor
| Para o consumidor | Para o comerciante | Para o operador |
|---|---|---|
| Bateria a qualquer momento, sem precisar voltar pra casa. App mobile, PIX, cartão e Apple Pay. Comunidade gamificada com amigos. | Atrai e retém clientes (média de +18 min de permanência). Receita passiva via comissionamento por aluguel. Zero CAPEX. | Sistema completo: máquinas IoT, comunicação tempo real, dashboard regional, analytics, anti-fraude, controle remoto. |
2. Métricas em produção
Snapshot do banco de produção em Maio de 2026:
3. Stack tecnológico
| Camada | Tecnologia |
|---|---|
| API REST | Node.js · Fastify · TypeScript |
| ORM | Prisma 5 |
| Banco de dados | PostgreSQL 16 |
| Cache · Queues | Redis 7 |
| App cliente | Next.js 16 · React 19 (PWA) |
| Painéis admin | Next.js 16 |
| Máquina (kiosk) | Android Kotlin |
| Tempo real | MQTT (Mosquitto) · WebSocket |
| HTTPS · proxy | Traefik 3.5 · Let's Encrypt |
| Containers | Docker · Compose |
| VPS | Hetzner Cloud (Helsinki) |
4. Arquitetura
┌─────────────────────────────────────────────────────────────┐
│ USUÁRIOS / USERS / 用户 │
├─────────────────┬───────────────────┬───────────────────────┤
│ App Cliente │ Máquina (APK) │ Painéis Admin │
│ (PWA mobile) │ Android kiosk │ (Web) │
└────────┬────────┴─────────┬─────────┴───────────┬───────────┘
│ HTTPS │ MQTT/HTTPS │ HTTPS
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ TRAEFIK 3.5 (HTTPS, Let's Encrypt) │
└────────┬────────────────────────────────────────────────────┘
│
┌────────▼────────┐ ┌──────────────┐ ┌────────────────┐
│ API REST │◄─┤ Mosquitto │ │ Static Next.js │
│ (Fastify TS) │ │ MQTT │ │ (3 apps) │
└────────┬────────┘ └──────┬───────┘ └────────────────┘
▼ ▼
┌──────────┐ ┌──────────┐
│PostgreSQL│ │ Redis │
│ 16 │ │ 7 │
└──────────┘ └──────────┘
Princípios de design
- Type-safe end-to-end — Prisma → Fastify → Next.js, todos TypeScript
- Eventos primeiro — máquinas publicam heartbeat e eventos via MQTT; API consome e materializa estado
- Idempotência em pagamentos — toda transação MP/Stripe carrega correlation key
- Observabilidade — heartbeat watcher, audit log, alertas proativos
5. App cliente (PWA)
O cliente é uma PWA mobile-first em ingooapp.com.br. Instalação direta pelo navegador (Add to Home Screen). Funciona como app nativo no iOS e Android.
🔌 Aluguel via QR Code
Câmera escaneia o QR da máquina. Caução de 5 IC segurada (não cobrada). Tarifa de 1 IC/hora, primeiros 30 min grátis.
🗺️ Mapa de máquinas próximas
Localização geográfica com filtro por raio (até 50 km). Status (online/offline) e disponibilidade em tempo real.
💬 Chat com amigos
WebSocket, indicador online, mensagens instantâneas, emojis, tradução automática. Adicionar amigo via QR Code.
👑 Ranking Nacional Anual
Pódio top 50 brasileiros por IC adquirida no ano. Medalhas 🥇🥈🥉. Privacidade opt-in (modo anônimo).
🌐 Multi-idioma
PT, EN, ZH, ES — alternância no header com persistência.
6. Sistema de pagamentos
| Método | Provedor | Uso |
|---|---|---|
| PIX | Mercado Pago | QR Code + copia-cola; webhook + poller 5s |
| Cartão BR | Mercado Pago | Tokenização client-side, salvar cartão |
| Cartão internacional | Stripe | Setup Intent + 3DS |
| Apple Pay | Stripe | Merchant ID configurado |
| Saque PIX | Mercado Pago | Apenas valor que entrou via PIX/cartão |
7. Carteira (Ingoo Coin · IC)
A moeda interna é Ingoo Coin (IC). Conversão fixa: 1 IC = R$ 1,00. A UI usa apenas IC para reforçar identidade própria.
Tipos de transação
| Tipo | Sinal | Sacável |
|---|---|---|
DEPOSIT_PIX | + | ✓ |
DEPOSIT_CARD | + | ✓ |
RENTAL_DEPOSIT | − | — |
RENTAL_CHARGE | − | — |
RETURN_CREDIT | + | — |
REFUND | + | — |
TRANSFER_SENT/RECEIVED | −/+ | ✗ |
REFERRAL_BONUS | + | ✗ |
WITHDRAWAL | − | — |
8. Comunidade e Ranking
Sistema de amizade
- Adicionar via QR Code do perfil ou pelo ranking
- Status: PENDING, ACCEPTED, BLOCKED
- Notificação push quando recebe pedido
Transferência de IC
- QR Code + valor; transferência instantânea entre amigos confirmados
- Limite anti-fraude: 100 IC/dia entre o mesmo par
Ranking Anual
- Soma todas as recargas (DEPOSIT_PIX + DEPOSIT_CARD) do ano corrente
- Top 50 público; modo anônimo opt-in (aparece como "Anônimo #N")
- Pódio com medalhas 🥇🥈🥉 e coroa flutuante no 1º
- Prêmios: 1º Smartphone · 2º Smartwatch · 3º Boné Oficial
9. Sistema de Indicação
Mecanismo de crescimento viral construído pra o aplicativo se espalhar organicamente.
| Quem | Recebe |
|---|---|
| Quem indica (referrer) | +60 minutos grátis |
| Quem entra (referred) | +5 IC de boas-vindas |
Link único: ingooapp.com.br/r/{displayId}
10. Máquinas (kiosk Android)
Hardware atual: ZC-H133 (Allwinner), Android 9+ em modo kiosk.
| Linguagem | Kotlin |
| Build atual | v4.2.2 |
| Package | br.com.ingoo.machine |
| USB Serial | Comunicação com placa de slots |
| MQTT | Heartbeat 60s + comandos tempo real |
Funcionalidades v4.2.x
- LED inteligente — slots indicam estado
- Watchdog em pen-drive — reinicia o kiosk se travar
- OTA via MQTT — superadmin push de APK
- Anúncios em vídeo
- Voz de devolução — TTS confirma devolução
11. Comunicação MQTT
Toda comunicação assíncrona entre máquinas e backend usa Mosquitto MQTT (porta 1883). Permite comandos em tempo real sem polling.
| Tópico | Direção |
|---|---|
ingoo/machine/{id}/heartbeat | → API |
ingoo/machine/{id}/event | → API |
ingoo/machine/{id}/cmd/eject | API → |
ingoo/machine/{id}/cmd/restart | API → |
ingoo/machine/{id}/cmd/ota | API → |
ingoo/machine/{id}/cmd/ad | API → |
12. Painel Superadmin
Acesso em superadmin.ingooapp.com.br. Visão global da operação.
Liderança Global
| Pessoa | Cargo | Região |
|---|---|---|
| Mrt Shaw | CEO Global | China |
| Terry | COO Global | Global |
| Diogo Archanjo | CEO Brasil | Brasil |
13. Dashboard Regional (RJ)
Acesso em rj.ingooapp.com.br. Operação Rio de Janeiro.
| Pessoa | Função |
|---|---|
| Diogo Archanjo | CEO Brasil |
| Carolina Ribeiro | Gerente de Cidade · RJ |
| Ygor Archanjo | TI · RJ |
14. Segurança e LGPD
| Vetor | Mitigação |
|---|---|
| Autenticação | JWT (15min + refresh) · OTP · OAuth Google |
| SQL Injection | Prisma parameterized 100% endpoints |
| XSS | JSX escaping React + sanitização chat |
| CSRF | SameSite cookies + Bearer headers |
| Rate limit | 300 req/min · IP global |
| Webhooks | HMAC obrigatório (Stripe/MP) |
| Senhas | bcrypt cost 12 |
| HTTPS | Traefik · Let's Encrypt · TLS 1.3 · HSTS |
| RBAC | Decorators Fastify por endpoint |
| LGPD | Consentimento explícito · direito à exclusão |
15. Infraestrutura
| Provedor | Hetzner Cloud · CPX/CCX |
| Region | Helsinki |
| OS | Linux + Docker |
| Backup | Snapshot diário · pg_dump |
Containers ativos
ingoo-api— API REST + MQTT + jobsingoo-client— PWAingoo-dashboard— Admin RJingoo-superadmin— Admin globalingoo-db— PostgreSQL 16ingoo-redis— Redis 7traefik— HTTPS + reverse proxymosquitto— MQTT brokeringoo-docs— esta documentação
16. Roadmap
Q2 2026 (em desenvolvimento)
- Expansão SP e BSB
- Apps nativos iOS/Android
- Integração com sistemas de hotel
Q3 2026 (planejado)
- Carregamento sem fio (Qi)
- Ingoo Pay
- Marketplace de comerciantes
Q4 2026 (visão)
- Expansão internacional
- Programa de franquia
- API pública