Full-Stack · FastAPI · Vue 3 · Docker

Genesys
Manager

Dashboard full-stack de alto desempenho para orquestração avançada de usuários, filas e permissões na plataforma Genesys Cloud — segundos onde antes levavam minutos.

🐍 Python 3.11 FastAPI 💚 Vue 3 🎨 Tailwind CSS 🐳 Docker 🌐 Cloudflare 🔐 OAuth 2.0 + JWT 🔄 httpx Async
5+ Módulos de rota
2x Camadas de autenticação
3k+ Linhas de código
100% Async / containerizado

O Problema

O gerenciamento de usuários no Genesys Cloud era um processo manual, lento e suscetível a erros, executado por analistas diretamente via scripts em Google Colab.

Em ambientes de contact center corporativos, a gestão de licenças, filas e grupos de usuários é uma operação crítica. A cada mudança de função ou onboarding, analistas precisavam executar sequências manuais de chamadas de API — processo demorado e sem rastreabilidade.

O fluxo existente dependia de notebooks Jupyter no Google Colab, exigindo conhecimento técnico avançado dos operadores, impossibilitando auditoria e com altíssimo risco de erros humanos em operações sensíveis.

"Operações que deveriam ser triviais consumiam minutos preciosos de analistas e não deixavam rastro de auditoria."
Pontos de dor identificados
  • Processos manuais via Google Colab com erros frequentes
  • Ausência total de rastreabilidade e trilha de auditoria
  • Dependência de analistas técnicos para tarefas operacionais simples
  • Operações em lote impossíveis sem scripts customizados
  • Sem validação ou confirmação antes de ações destrutivas
  • Reativação de usuários levava minutos por execução manual
  • Gerenciamento de conflitos de versão da API feito manualmente

A Solução

Uma plataforma web centralizada e segura que expõe todas as operações críticas do Genesys Cloud através de uma interface intuitiva — com confirmação de ações, feedback em tempo real e rastreabilidade completa.

🔍

Busca Inteligente

Lookup de usuários por UUID, e-mail corporativo ou matrícula — com expansão automática de dados de autorização e grupos.

Reativação Instantânea

Reativação de usuários inativos com transição de estado em segundos, substituindo um fluxo manual de múltiplas etapas.

🔀

Migração em 3 Modos

Workflows de migração configuráveis: atribuição de divisão, role ou migração completa — com status por etapa e retry automático.

📋

Gestão de Filas

Visualização e remoção de usuários de filas individualmente ou em lote — com timestamps e confirmação prévia.

👥

Controle de Grupos

Adição e remoção de membros em grupos com resolução automática de conflitos de versão (HTTP 409 com retry).

🛡️

Segurança End-to-End

Autenticação dupla: JWT local com bcrypt + OAuth 2.0 Client Credentials para a API do Genesys Cloud.

~10×

Redução no tempo de operações críticas

Fluxos que demandavam minutos de execução manual por analistas passaram a ser concluídos em segundos — com confirmação, feedback visual e rastreabilidade completa de cada ação.

Stack Técnica

Cada tecnologia foi escolhida por um motivo específico — formando uma arquitetura coesa, performática e fácil de manter.

Python 3.11

Linguagem backend

Base do servidor com suporte nativo a async/await, tipagem estática via Pydantic e ecossistema maduro para integrações com APIs externas.

FastAPI

Framework web assíncrono

Rotas async com validação automática via Pydantic, documentação OpenAPI gerada automaticamente, e desempenho de nível produção com Uvicorn ASGI.

Vue 3 + Vite

SPA frontend

Composition API com reatividade granular, composables reutilizáveis para auth e notificações, e build ultra-rápido via Vite 8 com HMR.

Tailwind CSS

Design system utilitário

Dark theme profissional com paleta customizada, componentes como ConfirmDialog e ToastContainer estilizados de forma consistente e sem CSS manual.

Docker Compose

Containerização e orquestração

Stack completo em 2 containers: build multi-stage no frontend (Node → Nginx Alpine) e Python slim no backend, com rede bridge isolada.

Cloudflare Tunnel

Exposição segura

Acesso externo seguro sem exposição direta de portas — zero configuração de firewall, com TLS automático e proteção DDoS embutida.

Arquitetura

Dois containers Docker orquestrados via Compose, expostos pelo Cloudflare Tunnel, com proxy Nginx roteando tráfego entre o SPA e a API assíncrona.

👤 Usuário Browser HTTPS 🌐 Cloudflare Tunnel · TLS :80 DOCKER COMPOSE — genesys-net 💚 Vue 3 SPA Vite · Tailwind · Composables 🔀 Nginx Reverse Proxy spa + /api/ proxy /api/ ⚡ Backend Container Uvicorn ASGI · Port 8000 FastAPI Python 3.11 · async httpx · JWT · OAuth 5 route modules REST ☁️ Genesys Cloud REST API · OAuth 2.0 sae1.pure.cloud Docker Compose HTTP interno Genesys REST API

Destaques Técnicos

Decisões de arquitetura que tornam o sistema robusto, seguro e pronto para produção.

01

Cache de Token OAuth com Renovação Automática

Backend · auth.py

O token OAuth 2.0 do Genesys Cloud é armazenado em estado global e reutilizado entre requisições. Um buffer de 60s antes da expiração garante renovação proativa, eliminando latência extra por re-autenticação desnecessária em operações concorrentes.

02

API Assíncrona com httpx AsyncClient

Backend · FastAPI + httpx

Todas as rotas usam async def com httpx.AsyncClient para comunicação não-bloqueante com a API do Genesys. Isso garante que o servidor sirva múltiplas requisições simultaneamente sem overhead de threads.

03

Autenticação Dupla: OAuth 2.0 + JWT Local

Segurança · auth_local.py

Arquitetura de segurança em duas camadas: JWT local com bcrypt para sessões de usuário (8h, HTTP-only cookie) e OAuth 2.0 Client Credentials para o Genesys Cloud. CORS configurado por whitelist e cookies inacessíveis via JavaScript.

04

Containerização Docker Multi-Stage

DevOps · Dockerfile + Compose

Build multi-stage no frontend: node:20-alpine gera os assets, nginx:alpine os serve — imagem final mínima. Backend usa python:3.11-slim. Os 2 containers se comunicam via rede bridge isolada genesys-net.

05

Retry Automático em Conflitos de Versão (HTTP 409)

Resiliência · routes/groups.py

A API do Genesys exige versionamento otimista: operações de grupo retornam 409 Conflict quando a versão está desatualizada. O backend detecta o conflito, busca a versão atual automaticamente e reenvia — sem intervenção do usuário.

06

Arquitetura Modular com Roteamento por Domínio

Manutenibilidade · routes/

Backend organizado em 5 módulos de rota independentes: users, queues, groups, migration, auth — cada um com responsabilidade única e facilmente testável de forma isolada.

Como Rodar

Docker Compose para produção ou servidores locais para desenvolvimento — ambos prontos em minutos.

🐳
Docker Compose
Recomendado
# Clone o repositório
git clone https://github.com/athosroque/genesys-manager-api
cd genesys-manager-api
 
# Configure as variáveis de ambiente
cp backend/.env.example backend/.env
# Edite backend/.env com suas credenciais Genesys
 
# Suba a stack completa
docker compose up -d --build
 
# Acesse em http://localhost:80
💻
Desenvolvimento Local
Dev Mode
# Backend (FastAPI)
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
 
# Frontend (Vue 3 + Vite)
cd frontend
npm install
npm run dev # :5173