Diário de Bordo – Daniel Rodrigues da Rocha¶
Disciplina: Gerência de Configuração e Evolução de Software Equipe: WebScrapping Comunidade/Projeto de Software Livre: Check-up
Sprint 0 – 02/09/2025 - 10/09/2025¶
Resumo da Sprint¶
Breve descrição das atividades e reflexões.
Atividades Realizadas¶
| Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
|---|---|---|---|---|
| 02/09 | Leitura da Documentação do projeto Base | Estudo/Ambientação | Docs | Concluído |
| 02/09 | Leitura do README.md do Projeto Base |
Estudo/Ambientação | README | Concluído |
| 04/09 | Configuração do Ambiente Local | Configuração | Concluído | |
| 08/09 | Fork do Repositório | Configuração | Repositório | Concluído |
| 08/09 | Criação do Repositório de Documentação | Configuração | Repositório | Concluído |
| 08/09 | Definição do Guia de Contribuição | Doc | PR#4 | Concluído |
| 08/09 | Definição do Código de Conduta | Doc | PR#4 | Concluído |
| 08/09 | Revisão de Pull Request na Documentação | Revisão | PR#3 | Concluído |
| 09/09 | Contribuições na Documentação da Equipe | Doc | PR#8 | Concluído |
Maiores Avanços¶
- Aprendi a rodar a aplicação localmente.
- Entendi melhor a organização do repositório.
Maiores Dificuldades¶
- Entender qual o repositório base para a atividade focada em WebScrapping;
- Comunicação com a equipe.
Aprendizados¶
- Definir políticas para branchs, commits etc, ajudam muito a padronizar a comunicação e tornar correções mais rápidas.
- Aprendi como funciona o fluxo de contribuição do projeto.
Plano Pessoal para a Próxima Sprint¶
- Entender e avançar com contribuições envolvendo GCES da comunidade;
- Concluir 1 contribuição com a criação de um PR;
- Participar com a revisão de 1 PR da equipe;
Sprint 1 – 15/09/2025 - 24/09/2025¶
Resumo da Sprint¶
A sprint foi focada em analisar a organização de GCES da comunidade EH FAKE e contribuir em novas configurações que assegurassem boas práticas de gerenciamento.
Atividades Realizadas¶
| Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
|---|---|---|---|---|
| 22/09 | Fork do Repositório de Documentação Oficial do Eh Fake | Configuração | Fork | Concluído |
| 23/09 | Estudo e Verificação das Issues Template Existente e CI/CD's ativos | Estudo/Ambientação | Workflows | Concluído |
| 23/09 | Contribuição com 2 novos template de Issues para o CheckUp | Código | PR#29 | Concluído |
| 23/09 | Contribuição com a correção de contatos no template de Issues | Código | PR#24 | Concluído |
| 23/09 | Contribuição com o desenvolvimento de novos CI's para Issues Automáticas | Código | PR#28 | Concluído |
| 24/09 | Contribuições na Documentação da Equipe | Doc | PR#32 | Concluído |
Maiores Avanços¶
- Consegui resolver o problema com a execução de screapes;
- Contribui com melhorias de GCES para a comunidade EH FAKE.
Maiores Dificuldades¶
- Conseguir uma validação rápida com o mantenedor do projeto;
- Comunicação com a equipe.
Aprendizados¶
- Compreendi melhor a estrutura de templates de Issues e como eles padronizam a comunicação na comunidade;
- Aprendi sobre CI/CD workflows e como automatizar processos de Issues no GitHub;
- Desenvolvi habilidades em configuração de GitHub Actions para automação de tarefas;
- Entendi a importância da validação rápida com mantenedores para manter o fluxo de contribuições;
- Percebi como contribuições em GCES podem impactar positivamente a organização e práticas de um projeto open source.
Plano Pessoal para a Próxima Sprint¶
- Selecionar um jornal para início do processo de WebScraping;
- Concluir 1 contribuição com a criação de um PR;
- Participar com a revisão de 1 PR da equipe;
Sprint 2 – 29/09/2025 - 08/10/2025¶
Resumo da Sprint¶
A sprint 2 foi o início às contribuições de novos spiders e plays para a comunidade EH FAKE. O site jornalístico escolhido para a contribuição foi o Cada Minuto, um dos sites que não foram avaliados por análises de fake news no projeto.
Atividades Realizadas¶
| Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
|---|---|---|---|---|
| 30/09 | Criação do Plays para o Jornal Cada Minuto | Código | Commit | Concluído |
| 07/10 | Criação do Spiders para o Jornal Cada Minuto | Código | Commit | Concluído |
Maiores Avanços¶
- Implementação completa do scraper Cada Minuto: Desenvolvido tanto o spider (coleta de URLs) quanto o play (extração de conteúdo) com sucesso, coletando 55 URLs na primeira execução;
- Resolução de problemas técnicos complexos: Superou múltiplos desafios técnicos incluindo problemas de permissões, configuração do Playwright e dependências do Docker;
- Domínio da arquitetura do projeto: Compreendi como spiders e plays interagem, desde a coleta até o armazenamento no PostgreSQL;
- Aplicação prática dos tutoriais: Seguiu com sucesso os guias
TUTORIAL_CRIACAO_DO_ZERO.mdeTUTORIAL_SPIDERS_PLAYS.md, validando sua eficiência.
Maiores Dificuldades¶
- Problemas de permissões em containers Docker: Enfrentei múltiplos erros de permissão nas pastas
sessions/,screenshots/e.cache/, exigindo correções manuais comchmod 777; - Configuração do Playwright: Tive problemas com instalação de browsers (Firefox vs Chromium), dependências gráficas e timeouts em ambiente headless;
- Debugging de containers: Precisei navegar entre diferentes comandos Docker (
execvsrun --rm) para resolver problemas de execução; - Análise de HTML complexo: O site Cada Minuto possui estrutura mista (notícias + vídeos + subdomínios) que exigiu seletores CSS específicos e filtros robustos.
Aprendizados¶
- Arquitetura de Web Scraping: Aprofundei conhecimento na separação entre coleta de URLs (spiders) e extração de conteúdo (plays), entendendo como cada componente se integra;
- Playwright em produção: Aprendi sobre configuração de browsers headless, gerenciamento de sessões persistentes, tratamento de timeouts e resolução de problemas gráficos;
- Docker e permissões: Compreendi como permissões de containers afetam operações de arquivo e como resolver conflitos entre usuários do host e container;
- Gestão de configuração: Entendi a importância de configurações adequadas no Makefile, Dockerfile e arquivos
__init__.pypara integração de novos componentes.
Plano Pessoal para a Próxima Sprint¶
- Finalizar PR do scraper Cada Minuto: Criar pull request com toda a implementação desenvolvida, incluindo testes e documentação adequada;
- Implementar testes automatizados: Desenvolver testes unitários para validar o spider e play do Cada Minuto conforme padrões do projeto;
- Otimizar performance: Analisar e melhorar eficiência do scraper, incluindo tratamento de erros e retry mechanisms;
- Revisar PR de colega: Participar da revisão de pelo menos 1 PR de outro membro da equipe;
Sprint 3 – 09/10/2025 - 22/10/2025¶
Resumo da Sprint¶
A Sprint 3 foi focada na reorganização e centralização da documentação da comunidade EH FAKE. O objetivo principal foi migrar todo o conteúdo do repositório de documentação separado (EH-FAKE/docs) para o repositório principal do projeto (EH-FAKE/check-up), criando uma estrutura unificada e eliminando a necessidade de manter dois repositórios distintos. Esta consolidação visa simplificar a manutenção, melhorar a descoberta de informações e centralizar todas as contribuições em um único local.
Atividades Realizadas¶
| Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
|---|---|---|---|---|
| 11/10/2025 | Análise e entendimento da estrutura do repositório de documentação antigo (EH-FAKE/docs) |
Doc/Estudo | EH-FAKE/docs | Concluído |
| 18/10/2025 | Transferência e organização dos arquivos de documentação para o repositório principal | Doc | - | Concluído |
| 21/10/2025 | Abertura do Pull Request para migração da documentação para a branch documentation |
Doc/Discussão | PR#62 | Concluído |
| 21/10/2025 | Criação e abertura da Issue para acompanhar a centralização da documentação | Doc/Discussão | Issue#63 | Concluído |
| 21/10/2025 | Revisão, ajustes, testes e aprovação da documentação migrada em dupla, com envio do PR para o repositório principal | Doc/Discussão/Teste | - | Concluído |
Maiores Avanços¶
- Unificação bem-sucedida dos repositórios: Conseguir migrar com sucesso toda a documentação do repositório separado para o repositório principal, criando uma estrutura de projeto mais coesa;
- Configuração de CI/CD para documentação: Implementar workflow automatizado para build e deploy da documentação usando GitHub Actions, garantindo que mudanças sejam refletidas automaticamente;
- Criação da branch
documentation: Estabelecer uma branch dedicada para gerenciar a documentação, permitindo workflows específicos sem interferir no desenvolvimento principal; - Colaboração efetiva em dupla: Trabalhar em conjunto com outro membro da equipe para revisar, testar e validar toda a migração antes do merge;
- Estruturação de Issue tracking: Criar issue específica para acompanhar o processo de centralização, estabelecendo transparência e rastreabilidade das mudanças.
Maiores Dificuldades¶
- Análise e curadoria de conteúdo: Determinar quais conteúdos do repositório antigo eram relevantes e quais deveriam ser removidos ou atualizados exigiu análise cuidadosa;
- Configuração do workflow de CI/CD: Enfrentou desafios na configuração do GitHub Actions para funcionar especificamente com a branch
documentation, incluindo problemas de trigger e permissões; - Migração de histórico: Preservar contexto histórico importante durante a transferência de arquivos entre repositórios sem perder rastreabilidade;
- Coordenação entre repositórios: Gerenciar a transição de forma que não impactasse contribuidores ativos em ambos os repositórios durante o período de migração;
- Testes de integração: Validar que todos os links, referências e dependências continuaram funcionando após a migração da estrutura.
Aprendizados¶
- Gestão de repositórios: Compreendi melhor as vantagens de manter documentação e código no mesmo repositório, incluindo facilidade de sincronização e redução de overhead de manutenção;
- GitHub Actions avançado: Aprofundei conhecimento em workflows condicionais, triggers específicos por branch e configuração de permissões para deployment automatizado;
- Curadoria de documentação: Aprendi a avaliar criticamente conteúdo de documentação, identificando o que agrega valor versus o que pode estar desatualizado ou redundante;
- Colaboração em migração: Desenvolveu habilidades de trabalho em dupla para validação de mudanças estruturais importantes, entendendo a importância de revisão cruzada;
- Estratégias de consolidação: Entendi como planejar e executar migrações de repositórios mantendo integridade e continuidade do projeto.
Plano Pessoal para a Próxima Sprint¶
- Finalizar PR do scraper Cada Minuto: Retomar o desenvolvimento do scraper pausado durante a Sprint 3, criando pull request com implementação completa e documentação atualizada;
- Melhorar documentação técnica: Com a nova estrutura unificada, contribuir com melhorias na documentação técnica do projeto, especialmente nos tutoriais de criação de scrapers;
- Configurar monitoramento de documentação: Implementar verificações automáticas de qualidade da documentação (links quebrados, formatação, etc.) no workflow de CI/CD;
- Revisar PRs da equipe: Participar ativamente da revisão de pull requests de outros membros, especialmente aqueles relacionados à nova estrutura de documentação;
Sprint 4 – 23/10/2025 - 19/11/2025¶
Resumo da Sprint¶
A Sprint 4 foi focada em contribuições de correção e implementação de novos scrapers. O destaque foi a criação do scraper para o portal O Imirante e Portal Uai, seguindo a metodologia estabelecida nos tutoriais do projeto. Além disso, contribuí com correções importantes de bugs relacionados à configuração do ambiente de desenvolvimento, melhorando a experiência de novos contribuidores.
Atividades Realizadas¶
| Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
|---|---|---|---|---|
| 25/10/2025 | Implementação do spider para O Imirante | Código | - | Concluído |
| 28/10/2025 | Implementação do play para O Imirante | Código | - | Concluído |
| 02/11/2025 | Correção de bugs na configuração do ambiente de desenvolvimento | Código | - | Concluído |
| 04/11/2025 | Documentação e integração do scraper O Imirante | Doc | - | Concluído |
| 04/11/2025 | PR realizado para o web-scraping do Imirante | Código | PR #34 | Concluído |
| 07/11/2025 | Início da implementação do scraper para o Portal UAI | Código | - | Concluído |
| 10/11/2025 | Continuação da implementação do scraper para o Portal UAI | Código | - | Concluído |
| 15/11/2025 | Otimização de performance dos scrapers existentes | Código | - | Concluído |
| 17/11/2025 | Atualização da documentação técnica referente ao novo scraper do Portal UAI | Doc | - | Concluído |
| 18/11/2025 | Contruibuição com correção de bug de dependências na configuração de ambiente | Código | Commit no PR #21 | Concluído |
| 19/11/2025 | Lançamento do Pull Request para o Web-Scraping do Portal Uai | Código | PR #36 | Concluído |
Maiores Avanços¶
- Implementação completa do scraper O Imirante: Desenvolvido com sucesso tanto o spider quanto o play, conseguindo extrair notícias do portal maranhense com alta taxa de sucesso;
- Resolução de bugs críticos de ambiente: Identifiquei e corrigi problemas importantes na configuração do ambiente que estavam impactando novos contribuidores;
- Aplicação consolidada da metodologia: Utilizei com eficiência os tutoriais estabelecidos, validando novamente a robustez do processo de criação de scrapers;
- Melhoria da experiência do desenvolvedor: As correções de bugs tornaram o setup inicial mais estável e confiável.
- Desenvolvimento do scraper para o Portal UAI: Avanços significativos na implementação de um scraper capaz de navegar e extrair dados de múltiplos domínios da rede UAI;
- Otimizações de performance: Identificação e aplicação de melhorias de performance em scrapers existentes, resultando em execuções mais rápidas e eficientes;
- Documentação atualizada: Manutenção da documentação técnica em dia, refletindo as últimas mudanças e melhorias implementadas nos scrapers.
Maiores Dificuldades¶
- Análise da estrutura específica do Imirante: O portal possui algumas peculiaridades na estrutura HTML que exigiram seletores CSS mais específicos;
- Debugging de problemas de ambiente: Identificar as causas raiz dos bugs de configuração exigiu análise detalhada dos logs e dependências;
- Balanceamento de prioridades: Gerenciar o desenvolvimento do novo scraper junto com as correções de bugs existentes;
- Compatibilidade entre versões: Garantir que as correções funcionassem em diferentes ambientes e configurações.
- Complexidade do Portal UAI: O portal possui uma estrutura complexa com múltiplos subdomínios e diferentes formatos de página, exigindo uma abordagem mais elaborada para o scraping;
- Testes e validação: Devido à complexidade e volume de dados, os testes e validações do novo scraper estão levando mais tempo do que o esperado;
- Gerenciamento de tempo: Balancear o tempo entre a implementação do novo scraper e a otimização dos já existentes.
Aprendizados¶
- Depuração sistemática: Aprimorei técnicas de debugging para identificar rapidamente problemas de configuração em ambientes containerizados;
- Análise de estruturas web diversas: Desenvolvi maior habilidade para adaptar scrapers a diferentes layouts e estruturas HTML;
- Importância de correções de ambiente: Compreendi como bugs de configuração podem impactar significativamente a produtividade da equipe;
- Consolidação de conhecimento: Reforçou minha compreensão da arquitetura de scrapers e do fluxo de desenvolvimento do projeto;
- Gestão de múltiplas contribuições: Aprendi a organizar melhor o trabalho quando lidando com diferentes tipos de tarefas simultaneamente.
- Scraping de sites complexos: Aprendi a lidar com a complexidade de sites que possuem múltiplos domínios e estruturas de página variadas;
- Técnicas de otimização: Aprofundei conhecimentos em técnicas de otimização de código e consultas ao banco de dados, melhorando a performance geral dos scrapers;
- Importância da documentação: Reforcei a prática de manter a documentação sempre atualizada, facilitando a manutenção e evolução dos scrapers.
Plano Pessoal para a Próxima Sprint¶
Sem planejamento