Analisando propostas

Chat escalável e seguro para app de relacionamento (Php + Mysql)

Publicado em 28 de Outubro de 2025 dias na TI e Programação

Sobre este projeto

Aberto

OBJETIVO
Entregar um módulo de chat 1-a-1 (e preparado para grupos no futuro) com entrega em tempo real, moderado contra spam/abuso, com criptografia adequada, baixo consumo de recursos e pronto para crescer.

escopo funcional
1) mensagens 1-a-1: texto, emojis, imagens (máx 10 mb), áudios curtos (máx 2 min)
2) status: entregue/lido (ticks) + “digitando…/online”
3) histórico com paginação infinita
4) bloquear/denunciar usuário, silêncio (mute) e apagar conversa local
5) push de notificação (web/mobile) – envio via webhook/fcm/onesignal (eu forneço chaves)
6) busca por mensagens (por palavra/data)
7) moderação: lista de palavras banidas + throttle por usuário
8) administração: painel simples com filtros, ban, motivos de denúncia

não incluso (por agora)
• chamadas de voz/vídeo
• criptografia ponta-a-ponta (e2ee) completa – ver item “segurança” (opcional)

requisitos técnicos
• linguagem: php 8.2+ (PSR-12, Composer). Opcional: Laravel 10+ ou Slim.
• DB: MySQL 8 (InnoDB, utf8mb4), índices adequados + partição de mensagens por mês.
• Cache/Filas: Redis para sessões, rate limit, pub/sub do chat.
• Tempo real: WebSockets (Ratchet/ReactPHP ou Swoole) ou fallback sse/long-polling.
• Autenticação: JWT (access + refresh), rotação de tokens, blacklist em logout/ban.
• Armazenamento de mídia: S3-compatível (ou local com varredura ClamAV e compressão).
• Observabilidade: logs estruturados (JSON), métricas (Prometheus/StatsD), healthcheck.
• Deploy: Docker Compose (web, php-fpm, redis, mysql) OU instalação limpa em HestiaCP.
• Compatibilidade: Cloudflare em modo proxy (respeitar WebSocket/headers).

SEGURANÇA & PRIVACIDADE
• Em trânsito: tls (https/wss).
• Em repouso: criptografia de colunas sensíveis (ex.: Tabela “users” – email/phone com libsodium); secret keys no .env.
• Hash de senha: Argon2id com salt.
• Proteções: prepared statements/orm, sanitização, csp, samesite cookies, limites de anexos/mime, antivírus, varredura exif.
• Rate limiting por IP/usuário/endpoint (Redis), bloqueio progressivo e CAPTCHA quando necessário.
• Auditoria: trilhas de login, denúncia e ban com motivo/ator/horário.
• Lgpd: retenção configurável, botão “baixar meus dados”, rotinas de expurgo.

desempenho & escalabilidade (metas)
• 5k usuários online / 200 msgs/seg de pico no nó principal
• p99 < 350 ms para envio/recebimento de texto
• particionamento da tabela de mensagens por mês + índices (sender_id, recipient_id, created_at)
• uso de redis pub/sub para fan-out; workers em fila para anexos

entregáveis
1) código fonte + readme (setup, .env de exemplo, build, testes, deploy)
2) Migrações SQL (criação/índices/partições) e seeds mínimos
3) Testes unitários/integração; script k6/JMeter com cenários (login, enviar, listar)
4) Scripts utilitários (limpeza de mídia órfã, reindex, expurgo LGPD)
5) Painel admin minimal (ban/denúncia/logs)
6) Documentação OpenAPI (Swagger) dos endpoints
7) Sessão de handover (até 2h) + 30 dias de suporte para bugs

CRITÉRIOS DE ACEITE
• Passar testes automatizados e cenário de carga 200 msg/s por 15 min com erro < 0,5% e P99 < 350 ms
• Verificação de segurança (checklist OWASP Top 10), antivírus operante, limites de upload
• Log/monitoramento acessíveis e painéis básicos
• Scripts de backup/restore do MySQL e mídia

MARCOS & PAGAMENTOS (exemplo)
• M1 (Arquitetura + migrações + endpoints básicos) – 20%
• M2 (Tempo real + status entrega/leitura) – 30%
• M3 (mídia + moderação + rate limit) – 25%
• M4 (tests, docs, deploy assistido, handover) – 25%

PRÉ-REQUISITOS QUE EU FORNEÇO
• Acesso ao servidor (SSH/FTP), DNS e certificados
• Chaves dos serviços de push (se aplicável)
• Mock do app/UX e identidade visual

O QUE ENVIAR NA PROPOSTA
• Portfólio de projetos de chat/tempo real
• Stack exata (WS vs SSE, framework, libs) e justificativa
• Prazo, preço fechado por marcos e garantias
• Observações de segurança/performance que pretende adotar

Contexto Geral do Projeto

O objetivo é termos um chat que funcione sem travamentos, erros ou perda de mensagens.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho o design
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: 24 de Novembro de 2025

Habilidades necessárias