8000
Skip to content

Latest commit

 

History

History

README.md

📚 Documentação — AnalyticsCineBot

Centro de documentação do AnalyticsCineBot: um ecossistema distribuído que coleta mensagens de grupos de Telegram sobre cinema, anonimiza os dados (LGPD), extrai inteligência via NLP/LLM e busca semântica vetorial, e expõe tudo num dashboard web rico.

Stack: Go 1.26 (API) · Python 3.11/3.12 (Bot + Worker NLP) · Next.js 16 + Tailwind v4 (Frontend) · PostgreSQL 15 + pgvector (Banco) · Docker Compose (orquestração).


🗂️ Estrutura do repositório

analytics_cine_bot/
├── backend/
│   ├── api/        # API REST em Go (camada de dados → frontend)
│   ├── bot/        # Bot de Telegram em Python (ingestão + IA conversacional)
│   └── worker/     # Worker de NLP/Forecast em Python (assíncrono)
├── frontend/       # Dashboard web em Next.js (App Router)
├── docs/           # 📍 você está aqui
├── docker-compose.yml
├── .env.example
└── README.md

📖 Índice

Documento Conteúdo
arquitetura.md Visão de arquitetura, componentes, fluxo de dados, decisões de design.
setup.md Pré-requisitos, variáveis de ambiente, como rodar (Docker e local), portas.
backend-bot.md Bot de Telegram: comandos, whitelist dinâmica, hashing LGPD, IA com tool calling.
backend-worker.md Worker de NLP: sentimento, tópicos, embeddings, forecast (Prophet), concorrência.
backend-api.md API REST em Go: arquitetura, pool de conexões e referência dos endpoints.
banco-de-dados.md Schema, migrations versionadas (golang-migrate), pgvector e índices.
frontend.md Dashboard Next.js, design system cine-lime, gráficos e integração com a API.
seguranca-autenticacao.md Login, sessão JWT em cookie, proteção de rotas, brute-force e antivazamento (LGPD).

🔄 Visão de alto nível

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)"]
Loading

Para começar a rodar, vá direto para setup.md.

0