Diretrizes do Projeto Prático: Módulo 1 de 4

Módulo 1: Iniciação e Planejamento do Projeto


Objetivo: Este guia marca o início do projeto prático. O objetivo é que sua equipe formalize a iniciação do projeto, crie o ambiente de trabalho no GitLab e execute o planejamento inicial. O foco está na organização e na definição do escopo do projeto, que será um Portfólio de Equipe com páginas de perfil individuais.


Introdução ao Git Essencial

Para a colaboração no projeto, o controle de versão com o Git é fundamental. Aqui estão os comandos básicos que sua equipe irá utilizar:

  • git clone https://seuprojeto.com.br/: Cria uma cópia local do repositório GitLab na sua máquina. Cada membro da equipe deve executar este comando uma vez.
  • git add .: Adiciona todas as alterações feitas na sua máquina para serem “empacotadas” para um commit.
  • git commit -m "[Mensagem]": Salva as alterações no seu histórico local. A mensagem deve ser curta e clara sobre o que foi feito.
  • git push origin main: Envia as alterações do seu histórico local para o repositório remoto no GitLab. Este comando é o que sincroniza seu trabalho com o da equipe.

Sugestão: É recomendado que cada membro da equipe clone o repositório do projeto em sua máquina e use o editor de código de sua preferência (como VS Code, Sublime Text, etc.) para trabalhar nos arquivos.


Explicação das Ferramentas no GitLab

Para este projeto, usaremos o GitLab como nossa principal ferramenta de gestão. As funcionalidades de Milestones e Issues serão cruciais para o planejamento e monitoramento.

  • Milestones: Representam grandes marcos ou fases do projeto. Pense nelas como as principais entregas ou prazos. No nosso caso, cada módulo do trabalho será uma Milestone. Criar uma Milestone ajuda a equipe a focar nos objetivos de uma fase específica do projeto.
  • Issues: São as tarefas granulares e rastreáveis. Tudo o que precisa ser feito no projeto deve ser uma issue. Elas podem ser tarefas de programação, escrita, design, ou qualquer outra atividade. A grande vantagem é que elas permitem atribuir responsabilidades, acompanhar o progresso e estimar o tempo de conclusão. É obrigatório que as issues tenham uma previsão de tempo (ex: 1h 30min) para auxiliar no planejamento.

Estrutura de Branches e CI/CD

Branches

O projeto utilizará uma estrutura de branches para organizar o desenvolvimento: * main: Branch principal, protegida, para código estável * develop: Branch de desenvolvimento, onde as features são integradas * Branches de feature: Criadas a partir da develop para cada nova funcionalidade

CI/CD (Continuous Integration/Continuous Deployment)

O GitLab automatizará a construção e publicação do site: * Pipeline automático: Executa a cada commit na branch main * Build do Hugo: Gera o site estático automaticamente * Deploy: Publica o site em GitLab Pages * Documentação HTML: Converte automaticamente os arquivos Markdown para HTML

Boards Kanban

Para visualizar e gerenciar o progresso das tarefas: * Backlog: Tarefas planejadas * To Do: Tarefas prontas para execução * In Progress: Tarefas em andamento * Review: Tarefas em revisão * Done: Tarefas concluídas


Tarefas Práticas:

  1. Formação de Equipes: Sua equipe deve ser composta por 3 integrantes.
  2. Configuração do Projeto no GitLab:
    • Um membro da equipe deve criar um novo Grupo no GitLab. Este grupo servirá como o espaço de trabalho para a equipe.
    • Dentro do Grupo, crie um novo projeto que será o seu repositório de trabalho. O nome deve ser claro e identificável (ex: Portifolio-Equipe-X-GPSO).
    • Adicione todos os membros da equipe ao projeto com a função de Maintainer.
    • Importante: Adicione o Professor Aléssio como membro do projeto com a função de Reporter. Isso permitirá que ele acompanhe o progresso e o histórico de cada membro.
  3. Definição do Projeto: Crie um arquivo README.md na raiz do projeto. Este arquivo deve conter:
    • O nome do projeto (Portfólio de Equipe com Hugo).
    • Uma breve descrição do projeto, incluindo os objetivos e o que será construído.
    • O nome dos membros da equipe e seus papéis iniciais (ex: Gerente, Documentador).
  4. Planejamento Inicial:
    • Crie a primeira Milestone no GitLab com o título Planejamento Inicial.
    • Crie as issues correspondentes às tarefas de planejamento e documentação. As tarefas devem ser distribuídas entre os membros e associadas à Milestone. Exemplos de issues:
      • Definir a arquitetura do site (página principal e páginas de perfis)
      • Definir a identidade visual da equipe (tema, cores, etc.)
      • Escrever a missão e o propósito do time
      • Definir os requisitos de conteúdo para as páginas de perfil
    • Atribua as issues aos membros da equipe e defina um prazo de entrega. Lembre-se de adicionar uma previsão de tempo a cada uma.
  5. Configuração Técnica:
    • Configure as branches main e develop com proteções adequadas
    • Crie o arquivo .gitlab-ci.yml para automação do build e deploy
    • Configure o Board Kanban para gerenciar o fluxo de trabalho
    • Teste o pipeline CI/CD para garantir que está funcionando

Avaliação (Critérios Baseados no GitLab):

  • Configuração do Repositório (30%): Avalia a correta criação do Grupo, do Projeto e a adição de todos os membros (incluindo o professor) com os papéis corretos.
  • Planejamento no GitLab (40%): Análise da qualidade da Milestone e das issues criadas. As issues devem ser claras, bem descritas e corretamente atribuídas, incluindo a previsão de tempo.
  • Contribuições Individuais (30%): O histórico de commits, pushes e a atividade em cada issue serão analisados para verificar a participação de cada membro no planejamento inicial.

Recursos Adicionais

Para detalhes técnicos completos sobre configuração de branches, CI/CD, e outras funcionalidades do GitLab, consulte o documento checkpoint-01.tex que contém instruções passo a passo detalhadas.

Back to top