Detalhes

produto / protótipo

Incubator Manager

Incubator Manager é uma plataforma local de microsserviços para o domínio de incubadoras ILB: dez serviços Django REST, frontend Next.js, gateway Nginx, Postgres, Redis, RabbitMQ, MinIO e fluxo Make/Tilt.

Problema

Incubadoras gerenciam empresas, contratos, pagamentos, espaços, reservas, inventário, chamados e documentos entre públicos de equipe, clientes e visitantes. O Incubator Manager modela esses fluxos em uma plataforma local.

Contribuição

Projetei e construí a plataforma como um monorepo estrito de microsserviços, com dez serviços Django REST, um gateway Nginx, validação JWT centralizada, eventos de domínio via RabbitMQ, documentos no MinIO, suporte a revogação/rate-limit no Redis, sidecars cron e um frontend Next.js 14 com grupos de rotas de equipe, cliente e público.

Limites de Serviço e Dados

O Docker Compose executa os microsserviços localmente. Cada domínio de negócio tem um serviço Django REST implantável separadamente, com seu próprio schema. As requisições passam por um gateway Nginx, os eventos de domínio usam RabbitMQ, e a aplicação combina Redis, armazenamento de objetos MinIO e um frontend Next.js 14.

Decisões técnicas

Dez serviços Django, incluindo autenticação e documentos, na contagem de serviços
Propriedade privada de schema e referências cruzadas de UUID entre serviços
Nginx gateway com auth_request centralizado JWT e headers de identidade
RabbitMQ domain event envelope com consumidores idempotentes
Projeções de modelo de leitura para dashboards
Compose/Tilt formato de produção local e portões de qualidade

Trade-offs

Limites rígidos de serviço em vez da conveniência de um monólito , mais partes móveis, propriedade mais clara.
Consistência eventual para projeções em troca de autonomia de serviço
Sidecars cron em vez de Celery para manter a superfície operacional pequena
Implantação baseada em Compose em vez de Kubernetes para corresponder à escala real da incubadora

Resultado

A pilha completa em formato de produção inicializa localmente com um único comando make, sementeia dados de demonstração determinísticos e passa por um portão end-to-end: Ruff, ESLint, TypeScript, Vitest, pytest por serviço com verificações de migração e testes de fumaça Playwright através do gateway real. A documentação da arquitetura, o catálogo de eventos, o manual de implantação e o relatório final são enviados nos docs do repositório.

Stack e domínios

  • Python
  • Django
  • Django REST Framework
  • PostgreSQL
  • RabbitMQ
  • Redis
  • MinIO
  • Next.js
  • TypeScript
  • Ant Design
  • Nginx
  • Docker Compose
  • Tilt