Skip to content

Rogertbs/fluence_voice

Repository files navigation

Fluence Voice

Painel de gestão para central telefônica baseada em Asterisk (monolito FastAPI + Jinja2 + HTMX + Bootstrap).

Pré-requisitos

  • Python 3.12+
  • PostgreSQL 16 (ou use o container abaixo)
  • (Opcional) Docker e Docker Compose

Executar localmente

  1. Criar ambiente virtual e instalar dependências

    python -m venv .venv
    source .venv/bin/activate   # Windows: .venv\Scripts\activate
    pip install -r requirements.txt
  2. Colocar Bootstrap e HTMX em static/ (sem CDN)

    chmod +x scripts/setup-static.sh
    ./scripts/setup-static.sh
  3. Subir o app

    uvicorn app.main:app --reload

    Acesse: http://127.0.0.1:8000

Executar com Docker Compose

# Bootstrap/HTMX na primeira vez (no host)
./scripts/setup-static.sh

docker compose up -d db
docker compose up app

App em http://127.0.0.1:8000 — PostgreSQL em localhost:5432 (usuário/senha: fluence, banco: fluence_voice).

Estrutura do projeto

  • app/ — aplicação FastAPI (main, config, futuros routers)
  • templates/ — Jinja2 (base.html, pages/)
  • static/ — CSS (Bootstrap + app.css), JS (Bootstrap, HTMX)
  • architect/ — instruções e ideia do projeto (instruct.md)
  • scripts/ — utilitários (ex.: setup-static.sh)

Próximos passos (conforme instruct.md)

  1. Conectar ao PostgreSQL e configurar Alembic (migrations)
  2. Incluir Asterisk no Docker e configurar ODBC/AMI
  3. Implementar módulos do painel (Entrada, Saída, Ramais, Filas, etc.) e autenticação