Pular para conteúdo

Sprint 04 - Integração, Automação e Extração de Dados

Objetivo

A Sprint 04 teve como principal objetivo consolidar a infraestrutura inicial do ProtectKids, promovendo a integração dos componentes desenvolvidos nas sprints anteriores e preparando o projeto para um fluxo de desenvolvimento mais robusto e automatizado.

Durante esta iteração, a equipe concentrou esforços na integração definitiva do backend com o banco de dados, na implementação do pipeline de extração de dados legislativos, na estabilização do ambiente de desenvolvimento e na adoção de práticas de integração contínua (CI) e testes automatizados. Além disso, foram realizadas correções arquiteturais para manter a documentação alinhada com a implementação do sistema.


Entregas Realizadas

Arquitetura e Organização do Projeto

  • Correção e atualização da estrutura do repositório, incluindo a realocação do arquivo .gitignore;
  • Revisão e ajustes finais no Diagrama C4, garantindo consistência entre a documentação arquitetural e a implementação do sistema.

Backend e Banco de Dados

  • Integração completa entre FastAPI e PostgreSQL utilizando SQLModel como camada de mapeamento objeto-relacional (ORM);
  • Estruturação da comunicação entre API e banco de dados, permitindo persistência das informações.

Pipeline de Extração de Dados

  • Desenvolvimento do Crawler responsável pela coleta automática de proposições legislativas por meio da API da Câmara dos Deputados;
  • Implementação da base do processo de extração que futuramente alimentará o banco de dados do ProtectKids.

Frontend

  • Correções nas configurações do Vite e do ambiente Docker;
  • Estabilização da renderização inicial da aplicação em ambiente conteinerizado.

DevOps e Qualidade de Software

  • Configuração da pipeline de Integração Contínua (CI) utilizando GitHub Actions;
  • Estruturação inicial do ambiente de testes automatizados para Backend e Frontend, preparando o projeto para futuras validações automáticas.

Issues da Sprint

Issue Descrição Responsável Status
#29 Correção do Diagrama C4 @augustogmedeiros ✅ Concluído
#30 Realocação e atualização do .gitignore @augustogmedeiros ✅ Concluído
#32 Correções de Configuração do Vite, Docker e Renderização Inicial @Golira12 e @wandinhawright ✅ Concluído
#33 Integração do FastAPI com PostgreSQL via SQLModel @augustogmedeiros e @Danielly-Mendes ✅ Concluído
#35 Configuração da Pipeline de Integração Contínua (CI) com GitHub Actions @VegasVvegas ✅ Concluído
#36 Configuração Base do Ambiente de Testes Automatizados @marispmorais ✅ Concluído
#37 Crawler de Extração de Dados utilizando a API da Câmara dos Deputados @augustogmedeiros ✅ Concluído

Observação: Durante esta sprint também foi integrado o FastAPI ao PostgreSQL por meio do SQLModel (PR #34), consolidando a comunicação entre a API e o banco de dados.


Resultados Obtidos

Ao final da Sprint 04, foram alcançados os seguintes resultados:

  • Arquitetura do projeto revisada e alinhada com a implementação;
  • Backend totalmente integrado ao banco de dados PostgreSQL;
  • Primeira versão do crawler para extração automática de dados legislativos implementada;
  • Ambiente do frontend estabilizado para desenvolvimento;
  • Pipeline de Integração Contínua (CI) configurada e operacional;
  • Estrutura inicial de testes automatizados preparada para evolução do projeto.

Conclusão

A Sprint 04 representou um avanço significativo na maturidade técnica do ProtectKids. Com a integração entre os principais componentes da aplicação, a configuração da Integração Contínua (CI) e o início da coleta de dados legislativos reais, o projeto passou a contar com uma base técnica mais sólida para a implementação das funcionalidades de negócio nas próximas sprints.

A adoção da CI permitiu iniciar um fluxo mais confiável de validação do projeto, apoiando a execução de testes e a identificação de falhas durante o desenvolvimento. Já a Entrega Contínua/Deploy Contínuo (CD) não foi implementada nesta sprint, mas foi reconhecida pela equipe como uma prática importante para etapas futuras. Por isso, ficou definido que o grupo irá pesquisar e avaliar sua aplicação mais à frente, especialmente quando o projeto estiver mais estável e preparado para processos automatizados de publicação e entrega.

Essa etapa reduziu riscos relacionados à integração, aumentou a confiabilidade do desenvolvimento e estabeleceu práticas importantes de qualidade de software, preparando o ProtectKids para evoluir de forma mais organizada nas próximas iterações.

Ata da Sprint 4 - Backend, banco e primeiras rotas

Pauta

  • Avançar no backend.
  • Estruturar banco de dados.
  • Criar primeiras rotas úteis para consulta.

O que foi conversado

  • Foi conversado que o backend precisava sair da fase de estrutura e começar a entregar rotas consultáveis.
  • Augusto atuou nas correções e na liderança técnica da implementação.
  • Mariana discutiu dados, testes e validação das respostas.
  • Ryan e Wanda apontaram quais campos seriam necessários para as telas.
  • Yara acompanhou problemas de execução local, banco e Docker.
  • Carlos verificou andamento das tarefas e pendências.
  • Danielly registrou decisões para documentação.

Deliberações

  • Foi decidido priorizar rotas de proposições e estrutura de banco.
  • O grupo deliberou que a listagem deveria evitar dados pesados quando possível.
  • Foi decidido validar as rotas pelo Swagger antes de passar para o frontend.

Encaminhamentos

  • Backend continuaria evoluindo listagem e detalhes.
  • Dados e testes validariam retorno e consistência.
  • Frontend aguardaria contrato mais estável da API.
  • Infraestrutura manteria ambiente funcional para testes locais.