Orbit
Orbit é uma plataforma social moderna, edge-first, projetada para escala global. Com uma arquitetura unificada em um monorepo, o Orbit combina a performance dos Cloudflare Workers com a experiência nativa do Flutter e a agilidade do React 19. O ecossistema inclui chat com criptografia ponta-a-ponta, chamadas de vídeo/áudio em grupo, feed social, shorts (vídeos curtos), sistema de pets digitais, jogos web integrados, comunidades e muito mais.
🏗️ Estrutura do Monorepo
O projeto está organizado em módulos independentes que se comunicam via APIs REST e WebSockets:
| Módulo | Descrição | Stack |
|---|---|---|
api/ | Backend Edge-first | Cloudflare Workers, D1, R2, Durable Objects, TypeScript |
app/ | Aplicativo Mobile | Flutter, Bloc, GoRouter, ObjectBox, Shorebird |
site/ | Landing Page (React 19) + hospedagem dos Jogos (Godot) | React 19, Vite, Tailwind CSS v4, Godot 4 (export Web) |
games/ | Projetos dos jogos | Godot 4.4, GDScript |
email/ | Serviço de e-mails transacionais | Resend |
scripts/ | Scripts utilitários do monorepo | Node.js |
📖 Para entender como essas partes se conectam, leia o Guia de Arquitetura.
🧠 Stack Tecnológica
Backend (Edge Computing)
| Tecnologia | Uso |
|---|---|
| Cloudflare Workers (TypeScript) | Runtime serverless edge |
| Cloudflare D1 | Banco de dados SQL distribuído |
| Cloudflare R2 | Object Storage (compatível com S3) |
| Durable Objects | Estado persistente e WebSockets em tempo real |
| Cloudflare KV | Cache distribuído e sessões |
| LiveKit | Infraestrutura de chamadas de vídeo/áudio |
| Resend | Envio de e-mails transacionais |
| Zod | Validação de schemas na camada de roteamento |
| Firebase Admin | Autenticação e notificações push (FCM) |
Mobile + Web (Flutter)
| Tecnologia | Uso |
|---|---|
| Flutter (SDK ^3.13.0) | Framework multiplataforma (iOS, Android) |
| flutter_bloc ^9.x | Gerenciamento de estado para lógica de negócio |
| Provider / Cubit | Estado reativo de UI e configuração |
| GoRouter ^17.x | Navegação declarativa e deep links |
| ObjectBox ^5.x | Banco de dados local NoSQL de alta performance |
| Shorebird ^2.x | Code Push (atualizações sem revisão da store) |
| Dio ^5.x + WebSockets | Comunicação com a API e tempo real |
| Firebase Auth / Messaging | Autenticação e notificações push |
| LiveKit Client | Chamadas de vídeo/áudio em grupo |
| Google ML Kit | Detecção de rosto, rotulagem de imagens |
| flutter_inappwebview | WebViews para os jogos (Godot exportado p/ Web) |
| Flame ^1.x | Engine de jogos para Pets interativos |
Site / Jogos
| Tecnologia | Uso |
|---|---|
| Godot 4.4 + GDScript | Engine dos jogos (exportação Web p/ site/games/) |
| React 19 + TypeScript | Framework da landing page |
| Vite | Build tool da landing page |
| Tailwind CSS v4 | Estilização da landing page |
| Framer Motion | Animações da landing page |
🎮 Funcionalidades Principais
- Feed Social — Posts com texto, imagens, vídeos, GIFs, enquetes e fundos customizados
- Chat — Mensagens privadas e grupos com criptografia E2E, mensagens temporárias, reações, edição, encaminhamento e balões personalizados
- Shorts (VAP) — Feed de vídeos curtos verticais com transcrição de áudio
- Status — Stories efêmeros de imagem/vídeo
- Chamadas — Chamadas de vídeo/áudio em grupo (até 8 participantes) via LiveKit
- Cine — Salas colaborativas para assistir vídeos sincronizados
- Comunidades — Grupos temáticos com canais e roles
- Match (Amigar) — Sistema de descoberta e conexão entre usuários
- Dimensions — Espaços temáticos com chat em tempo real
- Eventos — Sistema de eventos com chefe (boss) e batalhas coletivas (Kraken)
- Pets Digitais — Pets com ciclo de vida, acessórios, medicamentos e sistema de batalha (Flame)
- Jogos Web — Sudoku, Campo Minado, Jogo da Memória, TicTacToe, Space, Runner, Combat (micro-frontends React)
- Loja / Wallet — Itens digitais, missões e sistema de moedas (Orbit Coins)
- Notificações Push — FCM + notificações locais agendadas (motivacionais e eventos)
- Internacionalização — Português (padrão), Inglês e Espanhol
- Tema Sazonal — Temas dinâmicos (Natal, Halloween, Ano Novo, Dia dos Namorados, Copa do Mundo, Aniversário)
- Modo Exile — Tema visual alternativo para usuários com restrições ativas
🚀 Guia de Início Rápido
Pré-requisitos
| Ferramenta | Versão Mínima |
|---|---|
| Flutter SDK | Stable (Dart ^3.13.0) |
| Node.js | LTS |
| Wrangler CLI | Latest (npm install -g wrangler) |
| Shorebird CLI | Latest (opcional, para Code Push) |
Instalação
# 1. Backend (Cloudflare Workers)
cd api && npm install
# 2. Jogos Web / Landing Page
cd ../site && npm install
# 3. Aplicativo Flutter
cd ../app && flutter pub get
# Gerar código ObjectBox (obrigatório após mudanças nos modelos)
cd app && dart run build_runner build --delete-conflicting-outputsDesenvolvimento Local (Simultâneo)
# Terminal 1 — Backend da API
cd api && npm run dev # → http://localhost:8787
# Terminal 2 — Jogos Web / Site
cd site && npm run dev # → http://localhost:5173
# Terminal 3 — App Flutter (Android/iOS)
cd app && flutter run🌍 URLs de Produção
| Serviço | URL |
|---|---|
| API | https://api.redeorbit.com |
| CDN / Storage | https://cdn.redeorbit.com |
| Web App | https://web.redeorbit.com |
| WebSocket | wss://api.redeorbit.com/ws |
| LiveKit | wss://livekit.redeorbit.com |
🧭 Governança e Boas Práticas
Conventional Commits
feat(modulo): Nova funcionalidade
fix(modulo): Correção de bug
refactor(modulo): Melhoria interna sem mudança de comportamento
docs(modulo): Atualização de documentação
chore(modulo): Tarefas de manutenção (deps, build, etc)Módulos válidos: app, api, site, email, chat, auth, pets, games, posts, shorts, events, cine
Estratégia de Branches
| Branch | Propósito |
|---|---|
stable | Produção — código em produção nas lojas |
beta/* | Testes de novas funcionalidades |
dev/* | Desenvolvimento ativo |
🔐 Segurança
- Nunca commite arquivos
.env, chaves privadas, ougoogle-services.json. - Use
wrangler secret put NAMEpara gerenciar segredos em produção. - Chaves de API do Wrangler em desenvolvimento são específicas para o ambiente
test; nunca reutilize em produção. - O app usa
flutter_secure_storagepara armazenar tokens de forma segura no dispositivo. - Todas as mensagens de chat são criptografadas ponta-a-ponta (
cryptographypackage).
📄 Licença
Consulte o arquivo LICENSE para detalhes sobre os termos de uso.
"Orbit não é apenas um código; é um produto focado em engenharia de excelência."