Cara Core Hub

Sistema de Gerenciamento Centralizado

Privado Licença Proprietária Em Desenvolvimento Python 3.11+ Flask Docker
Repositório Privado

Este projeto possui código-fonte privado hospedado no GitHub e é protegido por licença proprietária da Cara Core Informática. A documentação aqui presente tem caráter informativo sobre as funcionalidades e arquitetura conceitual do sistema.

Visão Geral

O que é o Hub?

O Cara Core Hub é como o "cérebro central" da nossa empresa. Imagine um painel de controle de uma nave espacial - ele conecta e gerencia todos os outros projetos da Cara Core.

O que ele faz:

  • 📊 Dashboard central: Vê tudo que está acontecendo em um lugar só
  • 👥 Gerencia usuários: Controla quem pode acessar o quê
  • 🔄 Conecta projetos: Faz diferentes sistemas conversarem entre si
  • 📈 Monitora tudo: Acompanha se está tudo funcionando bem

Arquitetura Técnica

Sistema de gerenciamento microserviços-ready com arquitetura modular baseada em Flask. Implementa padrões de autenticação centralizada e orquestração de serviços.

Componentes principais:

  • API Gateway: Roteamento e autenticação centralizada
  • Service Registry: Descoberta automática de serviços
  • Admin Dashboard: Interface administrativa completa
  • Monitoring System: Health checks e métricas
  • User Management: RBAC (Role-Based Access Control)

Funcionalidades Principais

Dashboard Administrativo

Para leigos: Painel que mostra tudo importante de uma vez - como usuários online, sistemas funcionando, problemas que precisam de atenção.

Técnico: Interface responsiva com widgets customizáveis, métricas em tempo real, alertas configuráveis.

Gerenciamento de Usuários

Para leigos: Controla quem pode fazer o quê - como um "porteiro digital" que decide quem entra onde.

Técnico: Sistema RBAC completo, integração OAuth2/OIDC, perfis personalizáveis, auditoria de acesso.

Orquestração de Serviços

Para leigos: Faz diferentes partes do sistema trabalharem juntas - como um maestro organizando uma orquestra.

Técnico: Service discovery, load balancing, circuit breakers, health monitoring, auto-scaling triggers.

Segurança Centralizada

Para leigos: Sistema de segurança que protege tudo - como alarmes e câmeras em uma empresa.

Técnico: JWT tokens, rate limiting, CORS policies, audit logging, vulnerability scanning.

Stack Tecnológica

Backend

  • Python 3.11+: Linguagem principal
  • Flask: Framework web minimalista
  • SQLAlchemy: ORM para banco de dados
  • PostgreSQL: Banco principal
  • Redis: Cache e sessões
  • Celery: Processamento assíncrono

Frontend

  • HTML5/CSS3: Estrutura e estilo
  • JavaScript ES6+: Interatividade
  • Bootstrap 5: Framework CSS
  • Chart.js: Gráficos e métricas
  • Fetch API: Comunicação com backend

Infraestrutura

  • Docker: Containerização
  • Docker Compose: Orquestração local
  • Azure App Service: Hospedagem
  • Azure Database: PostgreSQL gerenciado
  • GitHub Actions: CI/CD

Ferramentas

  • pytest: Testes automatizados
  • Black: Formatação de código
  • Flake8: Linting
  • Alembic: Migrações de banco
  • Gunicorn: WSGI server

Como Funciona

Fluxo de Funcionamento

1
Usuário Acessa

Cliente faz login no sistema através do frontend

2
Autenticação

Sistema valida credenciais e gera JWT token

3
Dashboard

Carrega métricas e status dos serviços

4
Operações

Gerencia usuários, monitora sistemas, configura serviços

Arquitetura em Camadas

Presentation Layer

Interface web responsiva, dashboard administrativo, formulários de configuração

API Layer

REST APIs, autenticação JWT, validação de dados, rate limiting

Business Layer

Lógica de negócio, orquestração de serviços, processamento de tarefas

Data Layer

PostgreSQL, Redis, modelos SQLAlchemy, migrações automáticas

Setup e Desenvolvimento

Pré-requisitos

  • Python 3.11+ instalado
  • Docker e Docker Compose
  • Git configurado
  • VS Code (recomendado)
  • PostgreSQL (ou usar Docker)

Quick Start

# Clonar repositório
git clone https://github.com/cara-core/hub
cd hub

# Criar ambiente virtual
python -m venv venv
venv\Scripts\activate  # Windows
# source venv/bin/activate  # Linux/Mac

# Instalar dependências
pip install -r requirements.txt

# Configurar banco (Docker)
docker-compose up -d postgres redis

# Executar migrações
flask db upgrade

# Rodar aplicação
python main.py
Desenvolvimento com Docker

Para desenvolvimento completo usando Docker:

# Subir todos os serviços
docker-compose up -d

# Ver logs em tempo real
docker-compose logs -f web

# Executar comandos no container
docker-compose exec web flask db upgrade
docker-compose exec web python manage.py seed-data

Documentação da API

Principais Endpoints

Autenticação

POST
/api/auth/login
Autenticar usuário e obter token JWT
POST
/api/auth/refresh
Renovar token de acesso
POST
/api/auth/logout
Logout e invalidar token

Usuários

GET
/api/users
Listar usuários (paginado)
POST
/api/users
Criar novo usuário
PUT
/api/users/{id}
Atualizar dados do usuário

Monitoramento

GET
/api/health
Status de saúde dos serviços
GET
/api/metrics
Métricas de sistema
Documentação Interativa

Acesse /docs para ver a documentação Swagger interativa com todos os endpoints, schemas e exemplos.

Testes e Qualidade

Executar Testes

# Todos os testes
pytest

# Com coverage
pytest --cov=app --cov-report=html

# Testes específicos
pytest tests/test_auth.py
pytest -k "test_login"

# Modo verbose
pytest -v --tb=short

Qualidade de Código

# Formatação automática
black app/ tests/

# Linting
flake8 app/ tests/

# Type checking
mypy app/

# Verificar tudo
python scripts/check_quality.py

Cobertura de Testes

Auth Module:
95%
User Management:
88%
API Endpoints:
92%
Overall:
91%

Deploy e Produção

Deploy no Azure

CI/CD Automático

GitHub Actions configurado para deploy automático:

  • ✅ Testes automáticos em PR
  • ✅ Build e push da imagem Docker
  • ✅ Deploy automático na main
  • ✅ Health check pós-deploy
  • ✅ Rollback automático se falhar

Deploy Manual

# Build da imagem
docker build -t hub:latest .

# Tag para registry
docker tag hub:latest \
  caracore.azurecr.io/hub:latest

# Push para Azure Container Registry
docker push caracore.azurecr.io/hub:latest

# Deploy no App Service
az webapp config container set \
  --name cara-core-hub \
  --resource-group cara-core-rg \
  --docker-custom-image-name \
  caracore.azurecr.io/hub:latest
Configurações de Produção

Verificar estas configurações antes do deploy:

  • Environment Variables: DATABASE_URL, REDIS_URL, SECRET_KEY
  • SSL/TLS: Certificado válido configurado
  • CORS: Domínios permitidos configurados
  • Rate Limiting: Limites apropriados para produção
  • Logging: Nível INFO ou WARNING
  • Database: Conexões pooling configurado

Como Contribuir

Interessado em contribuir com o Cara Core Hub?

Próximos Passos

Para começar a desenvolver no Hub, siga a configuração do ambiente no Guia do Estagiário e veja as issues abertas no GitHub.