Skip to content

Latest commit

 

History

History
234 lines (148 loc) · 10.6 KB

FAQ.md

File metadata and controls

234 lines (148 loc) · 10.6 KB

Dúvidas frequentes

Abaixo estão algumas orientações e dúvidas comuns ao desenvolvimento do projeto.

Se houver qualquer outra dúvida ou problema, é só procurar a monitoria ou postar uma thread no slack.

Git e GitHub

‼️ Antes de começar a desenvolver
  1. Clone o repositório Usar link SSH
  • Entre na pasta do repositório que você acabou de clonar:
    • cd pasta-do-repositório
  1. Instale as dependências [Caso existam]
  • npm install
  1. Crie uma branch a partir da branch main
  • Verifique se você está na branch main

    • Exemplo: git branch
  • Se não estiver, mude para a branch main

    • Exemplo: git checkout main
  • Agora crie uma branch à qual você vai submeter os commits do seu projeto

  • Você deve criar uma branch no seguinte formato: nome-de-usuario-nome-do-projeto

    • Exemplo: git checkout -b maria-sd-0x-trybe-futebol-clube
  1. Adicione as mudanças ao stage do Git e faça um commit
  • Verifique que as mudanças ainda não estão no stage

    • Exemplo: git status (deve aparecer listada a pasta maria em vermelho)
  • Adicione o novo arquivo ao stage do Git

    • Exemplo:
    • git add . (adicionando todas as mudanças - que estavam em vermelho - ao stage do Git)
    • git status (deve aparecer listado o arquivo maria/README.md em verde)
  • Faça o commit inicial

    • Exemplo:
      • git commit -m 'iniciando o projeto x' (fazendo o primeiro commit)
      • git status (deve aparecer uma mensagem tipo nothing to commit )
  1. Adicione a sua branch com o novo commit ao repositório remoto
  • Usando o exemplo anterior: git push -u origin joaozinho-sd-0x-trybe-futebol-clube
  1. Crie um novo Pull Request (PR)
  • Vá até a página de Pull Requests do repositório no GitHub
  • Clique no botão verde "New pull request"
  • Clique na caixa de seleção "Compare" e escolha a sua branch com atenção
  • Clique no botão verde "Create pull request"
  • Adicione uma descrição para o Pull Request e clique no botão verde "Create pull request"
  • Volte até a página de Pull Requests do repositório e confira que o seu Pull Request está criado
⌨️ Durante o desenvolvimento
  • Faça commits das alterações que você fizer no código regularmente

  • Lembre-se de sempre após um (ou alguns) commits atualizar o repositório remoto

  • Os comandos que você utilizará com mais frequência são:

    1. git status (para verificar o que está em vermelho - fora do stage - e o que está em verde - no stage)
    2. git add (para adicionar arquivos ao stage do Git)
    3. git commit (para criar um commit com os arquivos que estão no stage do Git)
    4. git push -u nome-da-branch (para enviar o commit para o repositório remoto na primeira vez que fizer o push de uma nova branch)
    5. git push (para enviar o commit para o repositório remoto após o passo anterior)
🤝 Depois de terminar o desenvolvimento (opcional)

Para "entregar" seu projeto, siga os passos a seguir:

  • Vá até a página DO SEU Pull Request, adicione a label de "code-review" e marque seus colegas
    • No menu à direita, clique no link "Labels" e escolha a label code-review
    • No menu à direita, clique no link "Assignees" e escolha o seu usuário
    • No menu à direita, clique no link "Reviewers" e digite students, selecione o time tryber/students-sd-xx onde xx é o número da sua turma

Se ainda houver alguma dúvida sobre como entregar seu projeto aqui tem um video explicativo.

🕵🏿 Revisando um pull request

Use o conteúdo sobre Code Review para te ajudar a revisar os Pull Requests.

Node e NPM

🕵️ Use a versão 16.14.0 LTS ou superior do Node
  • O node deve ter versão igual ou superior à 16.14.0 LTS;

  • Para gerenciar as versões do node e utilizar a versão correta, utilize/instale o nvm, acesse esse link;

  • Rode os comandos abaixo para instalar a versão correta de node e usá-la:

    • nvm install 16.14 --lts
    • nvm use 16.14
    • nvm alias default 16.14
🕵️ Linter

Para garantir a qualidade do código, usaremos o ESLint para fazer a sua análise estática.

Este projeto já vem com as dependências relacionadas ao linter configurada no arquivo package.json no seguinte caminho:

  • sd-0x-trybe-futebol-clube/app/backend/package.json

Para rodar o ESLint em um projeto, basta executar o comando npm install dentro do projeto e depois npm run lint. Se a análise do ESLint encontrar problemas no seu código, tais problemas serão mostrados no seu terminal. Se não houver problema no seu código, nada será impresso no seu terminal.

Você também pode instalar o plugin do ESLint no VSCode: bastar ir em extensions e baixar o plugin ESLint.

⚠️Atenção: Pull Requests com issues de linter não serão avaliadas. Atente-se para resolvê-las antes de finalizar o desenvolvimento.

🧪 Executando testes do avaliador com Puppeteer

Usaremos o Puppeteer para fazer os testes automatizados. Os testes estão localizados na pasta __tests__/E2E/.

⚠️ Para que os testes do projeto sejam executados na sua máquina, é necessário que todos os seus containers estejam no ar e saudáveis.

Os testes devem ser executados na raiz do projeto. Seguem algumas maneiras de executar os testes:

Comando Resultado
npm test Executa todos os testes pelo terminal
npm test 01_database.test.js Executa todos os testes do arquivo 01_database.test.js
npm run test:browser Abre uma janela no Chrome, demonstrando a realização dos testes de maneira visual
npm run test:debug Executa os testes pelo terminal e printa algumas informações adicionais para ajudar a debugar o erros encontrados
🧪 Executando testes com Mocha

Você irá escrever testes de integração para o código que desenvolveu. Os testes deverão ser escritos na pasta app/backend/src/tests/, conforme o exemplo em app/backend/src/tests/change.me.test.ts.

Além do Mocha, Chai e Sinon, usaremos o Istambul para analisar a cobertura de testes.

É possível rodá-los diretamente dentro da pasta de backend fora do container. Seguem algumas maneiras de rodar os testes com Mocha:

Comando Resultado
npm run test Executa todos os testes pelo terminal
npm run test:coverage Executa todos os testes e mostra a cobertura de testes
👀 Comandos úteis

⚠️ Os comandos abaixo funcionam na raiz do projeto. É possível ver o resultado de cada comando, mas recomendamos que você verifique esses scripts no arquivo package.json da raiz do projeto para obter uma compreensão mais detalhada de cada um..

Comando Resultado
npm run install:apps Instala as dependências de front-end e back-end localmente
npm run compose:up Sobe todos os containers da sua aplicação
npm run compose:down Derruba todos os containers da sua aplicação
npm run logs [nome_do_servico] Acompanhar os logs de algum container na aplicação ([nome_do_servico] é opcional e pode receber os serviços backend, frontend ou db)

Rodando o projeto pelo Docker

⚠️ Não execute comandos do Git dentro do container
  • O git dentro do container não vem configurado com suas credenciais. Ou faça os commits fora do container, ou configure as suas credenciais do git dentro do container.
⚠️ Use a versão 2.5 ou superior do Docker Compose
  • Para garantir o funcionamento adequado do seu projeto com Docker e do avaliador, é fundamental que o seu 'docker-compose' esteja na versão 2.5 ou superior.".

  • Verifique sua versão:

docker-compose --version
  • Se não for a versão 2.5 ou superior, faça os seguintes comandos para atualizar a versão:
sudo rm /usr/local/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Depois de completar o projeto

🗣 Nos dê feedbacks sobre o projeto!

Ao finalizar e submeter o projeto, não se esqueça de avaliar sua experiência preenchendo o formulário. Leva menos de 3 minutos!

FORMULÁRIO DE AVALIAÇÃO DE PROJETO

🗂 Compartilhe seu portfólio!

Após finalizar os requisitos, chegou a hora de mostrar ao mundo que você aprendeu algo novo! 🚀

Siga esse guia que preparamos com carinho para disponibilizar o projeto finalizado no seu GitHub pessoal.

Esse passo é super importante para ganhar mais visibilidade no mercado de trabalho, mas também é útil para manter um back-up do seu trabalho.

E você sabia que o LinkedIn é a principal rede social profissional e compartilhar o seu aprendizado lá é muito importante para quem deseja construir uma carreira de sucesso? Compartilhe esse projeto no seu LinkedIn, marque o perfil da Trybe (@trybe) e mostre para a sua rede toda a sua evolução.