Sprint 0
Diário de Bordo – Marcus
Disciplina: [GERÊNCIA DE CONFIGURAÇÃO E EVOLUÇÃO DE SOFTWARE] Equipe: [OWASP] Comunidade/Projeto de Software Livre: Pencil Labs / EJ-Platform
Sprint 0 – 03/09/2025 – 09/09/2025
Resumo da Sprint
O objetivo principal desta sprint foi configurar o ambiente de desenvolvimento para o projeto EJ-Platform, utilizando o Windows com WSL 2 (Ubuntu). O trabalho consistiu em instalar e configurar as ferramentas essenciais para o projeto, como Docker e Pyenv para o gerenciamento da versão do Python. O processo exigiu a solução de diversos desafios técnicos, incluindo a correção de problemas de rede do Docker e a resolução de conflitos na instalação do Python. Ao final, o ambiente foi estabelecido com sucesso, permitindo que a aplicação seja executada localmente e que a suíte de testes seja rodada corretamente.
Atividades Realizadas
Data | Atividade | Tipo (Código/Doc/Discussão/Outro) | Link/Referência | Status |
---|---|---|---|---|
06/09 | Estudo inicial do README.md do projeto |
Estudo | [https://gitlab.com/pencillabs/ej/ej-application] | Concluído |
06/09 | Instalação e configuração do Docker Engine no WSL | Configuração | - | Concluído |
06/09 | Diagnóstico e correção de erros de DNS do Docker no WSL | Debug/Configuração | - | Concluído |
06/09 | Tentativa de uso do pyenv e diagnóstico do erro cygpath not found |
Debug/Discussão | - | Concluído |
07/09 | Reinstalação e configuração da versão nativa do pyenv para Linux |
Configuração | - | Concluído |
07/09 | Instalação das dependências de compilação para o Python | Configuração | - | Concluído |
07/09 | Instalação da versão específica do Python (3.11.9) com pyenv |
Código | - | Concluído |
07/09 | Criação e ativação do ambiente virtual (venv ) para o projeto |
Código | - | Concluído |
07/09 | Instalação das dependências Python do projeto com pip |
Código | - | Concluído |
07/09 | Diagnóstico e correção do erro de docker-buildx |
Debug/Configuração | - | Concluído |
08/09 | Execução bem-sucedida da aplicação via inv docker-up |
Código | http://localhost:8000 |
Concluído |
08/09 | Execução da suíte de testes do projeto com inv docker-test |
Código | - | Concluído |
Maiores Avanços
- Ambiente Docker totalmente funcional dentro do WSL, com os problemas de rede resolvidos.
- Aplicação EJ-Platform rodando localmente, acessível via navegador.
- Execução bem-sucedida da suíte de testes do projeto, validando a integridade da configuração do ambiente.
- Compreensão da estrutura de comandos do projeto através do
invoke
.
Maiores Dificuldades
- A configuração inicial do Docker no WSL apresentou erros de DNS que impediam o download de imagens, exigindo configuração manual do DNS, com base nisso, tive que pesquisar como realizada a alteração do documento, onde o DNS agora é do Google.
- Um conflito de
PATH
com uma versão dopyenv
para Windows (pyenv-win
) impediu a correta execução de comandospyenv
no Linux, necessitando uma reinstalação. - A compilação do Python falhou (
BUILD FAILED
) por falta de bibliotecas de desenvolvimento essenciais no sistema Ubuntu, onde tive que pesquisar quais seriam essas bibliotecas. - A inicialização dos contêineres foi impedida por um erro de caminho no plugin
docker-buildx
, que foi solucionado.
Aprendizados
- Processo detalhado de instalação e configuração do
pyenv
em um ambiente Linux, incluindo a importância das dependências de compilação. - Diagnóstico de problemas de
PATH
no Linux utilizando comandos comowhich
eecho $PATH
. - Funcionamento e depuração da integração de rede entre o WSL 2 e o Windows, especialmente em relação ao DNS.
- Uso de ambientes virtuais (
venv
) como prática essencial para isolar dependências em projetos Python. - Fluxo de trabalho básico com Docker e Docker Compose, orquestrado por meio de um executor de tarefas como o
invoke
.
Plano Pessoal para a Próxima Sprint
- ■ Explorar o código-fonte do projeto para entender a arquitetura dos módulos do Django.
- ■ Escolher uma issue de baixa complexidade (ex: "good first issue") no repositório do projeto.
- ■ Contribuir com pelo menos 1 Pull Request (PR) para o projeto.