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. Estamos juntos! 👍
‼️ Antes de começar a desenvolver
-
Clone o repositório
-
Copie o endereço SSH do repositório e use-o para cloná-lo em sua máquina:
- Por exemplo:
git clone git@github.com:tryber/sd-0x-project-x.git
.
- Por exemplo:
-
Entre na pasta do repositório que você acabou de clonar:
cd <diretório-do-projeto>
-
-
Crie uma branch a partir da branch
master
- Verifique que você está na branch
master
- Exemplo:
git branch
- Exemplo:
- Se não estiver, mude para a branch
master
- Exemplo:
git checkout master
- Exemplo:
- 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 joaozinho-project-x
- Você deve criar uma branch no seguinte formato:
- Verifique que você está na branch
-
Para cada etapa do desenvolvimento, 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
(devem aparecer listadas as alterações realizadas em vermelho)
- Exemplo:
- 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
(devem aparecer listadas as alterações realizadas em verde)
- Exemplo:
- Faça o
commit
inicial- Exemplo:
git commit -m 'Iniciando o projeto X! #VQV 🚀'
(fazendo o primeiro commit)git status
(deve aparecer uma mensagem tipo nothing to commit )
- Exemplo:
- Verifique que as mudanças ainda não estão no stage
-
Adicione a sua branch com o novo
commit
ao repositório remoto- Usando o exemplo anterior:
git push -u origin joaozinho-sd-0x-project-x
- Usando o exemplo anterior:
-
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"
-
Não se preocupe em preencher mais nada por enquanto!
-
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:
git status
(para verificar o que está em vermelho - fora do stage - e o que está em verde - no stage)git add
(para adicionar arquivos ao stage do Git)git commit
(para criar um commit com os arquivos que estão no stage do Git)git push -u origin nome-da-branch
(para enviar o commit para o repositório remoto na primeira vez que fizer opush
de uma nova branch)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 timetryber/students-sd-xx
ondexx
é 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.
⚠️ Não rode o comando npm audit fix
!
- Ele atualiza várias dependências do projeto, e essa atualização gera conflitos com o avaliador.
⚠️ Rode comandos do NPM de dentro do container Node
- Caso opte por utilizar o Docker, TODOS os comandos disponíveis no
package.json
(npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comandodocker exec
citado acima.
⚠️ Rode comandos do Git fora do container Node
- 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 1.29 do Docker Compose
-
Para que você consiga rodar o seu projeto com docker e o avaliador funcione é fundamental que o seu docker compose esteja na versão 1.29.
- Verifique sua versão:
docker-compose --version
Se não for a versão 1.29, 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/1.29.0/docker-compose-$(uname> -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
✨ Desenvolvendo o projeto no VS Code de dentro do container
⚠️ Use a versão 8.0.23 do MySQL
- O avaliador espera que a versão do MySQL seja a 8.0.23. Em caso de erro nos testes, verifique se essa é a versão que está sendo usada por você.
🖥️ Usando variáveis de ambientes
-
Caso queira utilizar Docker apenas para um container MySQL, basta executar o comando:
docker run -p 3306:3306 --name mysql_8 -e MYSQL_ROOT_PASSWORD=password --platform=linux/amd64 -d mysql:8.0.23 mysqld --default-authentication-plugin=mysql_native_password
O que está sendo feito
ideia geral Baixa e executa uma imagem docker do MySQL na versão 8.0.23 flag --name
Define um nome para o nosso container: mysql_8
flag -e
Define a variável de ambiente MYSQL_ROOT_PASSWORD
com o valorpassword
flag -d
Define que o container rode em segundo plano flag -p
Mapeia a porta local 3306
à porta3306
do container, no formatoporta-local:porta-do-container
mysql:8.0.23
Define qual versão da imagem mysql
queremos, no caso, a8.0.23
, que é a esperada pelo avaliadormysqld
Comando a ser iniciado no container que inicia a instância do MySQL --default-authentication-plugin=mysql_native_password
Parâmetro passado para o comando mysqld
que configura a forma de autenticação usada pela instância do MySQLUtilizando o comando acima, para executar os testes localmente basta digitar no terminal:
MYSQL_USER=root MYSQL_PASSWORD=password MYSQL_HOSTNAME=localhost npm test
🧪 O avaliador pode testar os requisitos fora da ordem que aparecem no README
- O avaliador automático não necessariamente avalia seu projeto na ordem em que os requisitos aparecem no readme. Isso acontece para deixar o processo de avaliação mais rápido. Então, não se assuste se isso acontecer, ok?
🧪 Rodando os testes de forma individual
Você pode acrescentar ao comando npm test
um sufixo para rodar apenas um requisito da seguinte forma: -- -t "<número-do-requisito>"
, por exemplo:
npm test -- -t "01"
ou, usando variáveis de ambiente na linha de comando:
MYSQL_USER=root MYSQL_PASSWORD=password MYSQL_HOSTNAME=localhost npm test -- -t "01"
🗂 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.