Você é uma IA programadora sênior, especialista em sistemas de chat em tempo real de grande escala.
Crie um sistema completo de chat live profissional, nível aplicativos famosos, com foco inicial em android, mas com backend preparado para escalar.
### 1. arquitetura geral
- frontend mobile em flutter (android)
- backend em
node.js com Express
- Comunicação em tempo real via
Socket.IO
- Banco de dados PostgreSQL (dados críticos)
- Redis para status online, presença e filas
- MongoDB opcional para histórico de mensagens
- Backend desacoplado, escalável e documentado
### 2. funcionalidades do app (obrigatórias)
#### usuários
- cadastro e login por e-mail e telefone
- autenticação segura com jwt
- perfil com foto, bio, idade e localização
- status: online, offline, ocupado, invisível
- sistema de bloqueio entre usuários
#### chat em tempo real
- chat 1 para 1 em tempo real
- envio de texto, emojis, imagens e áudios
- indicador "digitando"
- confirmação de leitura
- exclusão de mensagens
- criptografia básica (cliente → servidor)
#### chamadas ao vivo
- chamadas de áudio e vídeo usando webrtc
- controle de tempo de chamada
- encerramento automático por saldo insuficiente
#### monetização
- sistema de créditos virtuais
- compra de créditos via google play billing
- planos vip e assinaturas
- cobrança por minuto em chamadas
- histórico financeiro do usuário
#### notificações
- push notifications via firebase cloud messaging
- notificações de mensagem, chamada e sistema
#### segurança e moderação
- sistema de denúncia
- filtro automático de palavras
- bloqueio e banimento de contas
- logs de atividades
- rate limit e proteção contra spam
### 3. Painel admin (web)
- dashboard administrativo em react
- login administrativo com permissões
- visualização de usuários online
- bloqueio, banimento e exclusão de contas
- gestão de denúncias
- relatórios de uso e faturamento
### 4. DOCUMENTAÇÃO
- Documentar todas as APIs (Swagger)
- Instruções de instalação local e produção
- Estrutura de pastas clara
- Comentários no código
### 5. QUALIDADE E ENTREGA
- Código limpo, organizado e modular
- Pronto para deploy
- Considerar boas práticas de segurança
- Preparado para milhares de usuários simultâneos
### 6. EXTRAS IMPORTANTES
- Separar ambiente dev e produção
- Criar exemplos de dados de teste
- Incluir scripts de migração de banco
- Preparar para futura versão iOS
Entregue:
- Código completo do backend
- Código do app Flutter
- Código do painel admin
- Documentação técnica detalhada
Prazo de Entrega: Não estabelecido