ANÚNCIO

Aula 23 – Vibe Coding: Implementando um sistema de Gestão de Mudancas

Live coding em Java com Quarkus: implemente notificações em tempo real com SSE e Angular em um sistema de gestão de tickets.

⏱ 1h 31min 👁 343 visualizações 📅 setembro 3, 2025

Resumo

O projeto Vibe Coding é sua evolução

A série Vibe Coding do canal Computação Crítica por Victor Osório representa uma abordagem prática e imersiva no desenvolvimento de software real. Nesta aula 23, o instrutor retoma um projeto anteriormente abandonado relacionado à gestão de mudanças e tickets, agora com foco em implementar do zero, sem dependência excessiva de assistentes de IA. A live coding de 91 minutos apresenta a evolução de um projeto que começou como experimento académico e se transformou em um estudo de caso sobre arquitetura moderna de aplicações web, integrando backend robusto e frontend reativo.

Implementação de notificações em tempo real com SSE

O cerne desta live é a implementação de Server-Sent Events (SSE) para criar um sistema de notificações em tempo real. SSE é uma tecnologia baseada em HTTP que permite que o servidor envie atualizações ao cliente sem necessidade de polling constante. A implementação prática demonstra como configurar endpoints no Quarkus que mantêm conexões abertas com clientes Angular, permitindo que mudanças no sistema (como atualizações de tickets) sejam propagadas instantaneamente. Este padrão é fundamental em aplicações modernas que exigem reatividade e responsividade, oferecendo uma alternativa mais leve ao WebSocket em cenários de fluxo unidirecional servidor-cliente.

Arquitetura com Quarkus e integração Angular

A stack técnica escolhida combina Quarkus no backend com Angular no frontend. Quarkus é um framework Java otimizado para containers e microsserviços, oferecendo tempo de inicialização reduzido e consumo de memória menor comparado ao Spring Boot tradicional. A integração entre Quarkus e Angular demonstra como uma API Java moderna pode servir uma aplicação frontend de página única, com suporte completo a CORS, JSON e comunicação assíncrona. O uso de Maven como ferramenta de build garante reprodutibilidade e gerenciamento de dependências, enquanto Hibernate/JPA fornece a camada de persistência, permitindo mapeamento objeto-relacional robusto.

Discussões sobre Java, Spring e JAKARTA

Durante a live, são exploradas questões relevantes para a comunidade Java atual. A comparação entre Java e Spring, bem como a discussão sobre migração de Spring para Quarkus, refletem as mudanças no ecossistema. A adoção de JAKARTA (nome dado ao Jakarta EE, evolução do Java EE) marca uma transição importante na plataforma, com novas namespaces e APIs modernizadas. Esses tópicos são essenciais para desenvolvedores que precisam tomar decisões arquiteturais, especialmente em projetos legados que consideram modernização ou em novos projetos que buscam melhor desempenho e eficiência.

Boas práticas em clean code e testes

Além do código funcional, a live enfatiza Clean Code e boas práticas de teste. Victor Osório compartilha dicas sobre estruturação de projetos, padronização de nomenclatura, responsabilidade das classes e organização modular. A abordagem prática de desenvolvimento sem dependência excessiva de IA força o aprendizado de conceitos fundamentais e estimula pensamento crítico sobre as decisões arquiteturais. O desenvolvimento de testes automatizados é mencionado como parte integral do processo, reforçando que código de produção deve ser acompanhado por suites de teste robustas.

Gestão de mudanças e sistema de tickets

O domínio escolhido — gestão de mudanças através de um sistema de tickets — é altamente relevante para equipes de desenvolvimento. Um sistema desse tipo precisa rastrear solicitações de alteração, seu status, responsáveis e notificar interessados sobre progressão. A implementação desse domínio de negócio com tecnologias modernas oferece lições sobre modelagem de dados, fluxos de estado e comunicação em tempo real, tornando o projeto educativo para cenários reais de desenvolvimento corporativo.

Contexto de carreira e comunidade

A live inclui respostas a perguntas da comunidade sobre arquitetura, legado e carreira em desenvolvimento de software. Essas discussões adicionam valor além do aspecto técnico, oferecendo perspectivas sobre navegação profissional, escolha de tecnologias e tendências de mercado. A participação da comunidade e o estímulo ao debate técnico profundo refletem a filosofia do canal de engajar desenvolvedores em conversas significativas, não apenas tutoriais superficiais.

O que você vai aprender

  • Implementar notificações em tempo real usando Server-Sent Events (SSE)
  • Integrar backend Quarkus com frontend Angular em arquitetura moderna
  • Estruturar um projeto Java do zero com Maven e boas práticas de Clean Code
  • Configurar persistência com Hibernate/JPA e banco de dados relacional
  • Avaliar trade-offs entre Spring e Quarkus para diferentes cenários

Conceitos abordados

Tecnologias utilizadas

Capítulos 8 marcações

  1. Introdução e contextualização do projeto
  2. Overview da stack Quarkus + Angular
  3. Setup e configuração inicial do projeto
  4. Implementação de SSE no Quarkus
  5. Integração Angular com notificações em tempo real
  6. Boas práticas de Clean Code e testes
  7. Discussão: Spring vs Quarkus e Jakarta EE
  8. Perguntas da comunidade e perspectivas de carreira

Próximo vídeo sugerido

Avaliações

Avaliação dos alunos 0.0
0 avaliações
Avalie esta aula

Ajude outros alunos a entenderem se esta aula foi útil.

Ainda não há avaliações. Seja o primeiro a avaliar esta aula.