Arquitetura de microsserviços escalável para processamento assíncrono de vídeos com extração de frames, utilizando as melhores práticas de desenvolvimento de software.
Demonstração completa do sistema funcionando
Requisitos funcionais implementados
Processa múltiplos vídeos simultaneamente através de workers escaláveis conectados via RabbitMQ.
Sistema protegido por usuário e senha com tokens JWT para acesso seguro às funcionalidades.
Listagem completa dos vídeos com status: Pending, Processing, Completed ou Failed.
Microsserviço dedicado para envio de notificações quando o processamento é concluído.
Download das imagens extraídas em formato ZIP compactado, pronto para uso.
Arquitetura resiliente com filas que não perde requisições em picos de acesso.
Microsserviços independentes comunicando via mensageria
Tecnologias utilizadas no projeto
Backend
Mensageria
Banco de Dados
Processamento
Containers
Orquestração
Cloud
IaC
Métricas
Dashboards
CI/CD
Testes
Estrutura das tabelas do banco de dados
Recursos provisionados no Azure via Terraform
Cluster gerenciado com auto-scaling, balanceamento de carga e alta disponibilidade.
Registro privado para armazenar as imagens Docker dos microsserviços.
Banco de dados gerenciado com backup automático e alta disponibilidade.
Armazenamento de objetos para vídeos enviados e ZIPs gerados.
Documentação dos endpoints REST disponíveis
Código fonte dos microsserviços
API REST principal com autenticação JWT, endpoints de upload/download e integração com RabbitMQ.
Ver repositório →Worker para processamento de vídeos com FFmpeg, extração de frames e geração de ZIP.
Ver repositório →Microsserviço de notificações por e-mail, consumindo fila de mensagens.
Ver repositório →Desenvolvido para o Hackathon SOAT11 da Pós-Graduação em Arquitetura de Software na FIAP
Assistir Apresentação