O AnalyticsCine é um ecossistema distribuído de alta performance que coleta, analisa e extrai inteligência qualitativa de grupos de Telegram focados em cinema. Usa NLP, LLMs de última geração e busca semântica vetorial, anonimizando os dados dos usuários em conformidade com a LGPD e gerando um dashboard rico sobre sentimentos, tendências de tópicos e buzz de filmes.
Este repositório contém apenas o backend. O frontend (dashboard Next.js) foi
separado para o repositório analytics-cine,
deployado independentemente na Vercel.
analytics_cine_bot/
├── backend/
│ ├── api/ # API REST em Go
│ ├── bot/ # Bot de Telegram em Python (ingestão + IA)
│ └── worker/ # Worker de NLP/Forecast em Python
├── docs/ # 📚 Documentação completa
├── render.yaml # Deploy do backend no Render (API + bot + worker)
├── docker-compose.yml
└── .env.example
graph LR
TG["Telegram (Grupos)"] -->|"Eventos & Mensagens"| BOT["Bot (Python)"]
BOT -->|"Msg anonimizada"| DB[("PostgreSQL + pgvector")]
DB -->|"Polling (SKIP LOCKED)"| WORKER["NLP & Forecast (Python)"]
WORKER -->|"Anotações & vetores"| DB
DB -->|"Consultas analíticas/vetoriais"| API["REST API (Go)"]
API -->|"JSON"| FRONT["Dashboard (Next.js — repo analytics-cine)"]
Toda a documentação vive em docs/:
- Arquitetura — componentes, fluxo de dados, decisões.
- Setup & Execução — variáveis de ambiente, Docker e local.
- Bot de Telegram · Worker NLP · API Go
- Banco de Dados — schema, migrations, pgvector, índices.
- Frontend — Next.js + design system cine-lime.
cp .env.example .env # preencha as chaves
docker compose up --build -d # db + migrations + bot + worker + api (porta 8080)O frontend fica no repositório separado
analytics-cine:
git clone https://github.com/NovaesThiago/analytics-cine.git
cd analytics-cine && npm install && npm run dev # dashboard em http://localhost:3000Passo a passo completo em docs/setup.md< 658B /a>.
- Backend (API Go + bot + worker) → Render, plano Free, um único
Web Service (
analytics-cine-backend) viarender.yaml. Os três processos rodam no mesmo container (Background Worker não tem plano free no Render) — verbackend/Dockerfile.renderebackend/start-all.sh.⚠️ No plano Free o serviço dorme após 15 min sem requisição HTTP — dormindo, bot e worker também param. Configure um ping externo (ex.: cron-job.org, UptimeRobot) emGET /healthza cada ~10 min. - Banco de dados → Neon (Postgres serverless com pgvector).
- Frontend → Vercel, a partir do repositório
analytics-cine.
Código disponível para fins educacionais e avaliações arquiteturais.