Sejam todos bem-vindos a terceira edição do He4rtoberfest, evento da He4rt Developers para incentivar novos desenvolvedores a participar do Hacktoberfest pela DigitalOcean, ILLA Cloud e Appwrite, aprendendo um pouco mais sobre a ideia e filosofia do open-source.
A ideia da He4rt Developers sempre foi a inclusão de iniciantes na área, por isso, vamos focar em trazer essa inclusão para o Hacktoberfest! Se liga:
O objetivo é trazer exercícios (para entrega de resoluções em formatos de algoritmos), desde o mais simples até o mais completo, demonstrando as possibilidades de resolução das mais variadas formas em diversas linguagens de programação, assim, disponibilizando uma biblioteca gigantesca de conteúdo para novos desenvolvedores, universitários e estudantes do geral. Para se inscrever e começar a contribuir não se esqueça de acessar o portal oficial da MLH (Major League Hacking).
Na lista abaixo estarão todos os exercicios que iremos aceitar nas pull requests.
- 0 - Hello World (não irá contar)
- 1 - Cubo Simples
- 2 - Palíndromos
- 3 - Conversão de Base
- 4 - Empréstimo
- 5 - Ordenar Letras
- 6 - Números Primos
- 7 - Graus em Horas
- 8 - Pares de Letras
- 9 - Likes
- 10 - Número Menor
Caso você queira dar sugestões de desafios ou tirar suas dúvidas, por favor, utilize a área de discussões do repositório ou contate algum moderador no Discord da He4rt.
Contribuições fazem com que a comunidade open-source seja um lugar incrível para aprender, inspirar e criar, por isso, todas as contribuições são extremamente apreciadas!
Porém, como neste caso estamos falando de um evento, haverão algumas regras para serem seguidas permitindo que sua resolução seja aprovada, mas, não é nada complexo! Entenda:
- Para que você tenha um pull request (PR) aprovado vinculado ao Hacktoberfest, você terá que fazer um PR do desafio 0 (Hello World);
- Caso você faça os outros desafios e não faça o Hello World, seu PR não será aprovado enquanto não fizer o desafio inicial.
A ideia do desafio 0 é deixar registrado todos os participantes do He4rtoberfest, por isso será obrigatório.
Para criar realizar sua contribução abrindo uma pull request da sua branch, você deverá seguir o exemplo abaixo:
- Realize um fork do projeto
- Vá até o repositório do fork no seu GitHub e na área
code
copie o link para cloná-lo (HTTPS, SSH ou utilize o CLI do GitHub) - Abra o terminal, escolha uma pasta de sua preferência e clone o repositório com o comando
git clone <link_do_repositorio>
- Crie uma pasta da linguagem que você escolheu no diretório
challenges/id_challenge/lang/
(caso já exista uma pasta com o nome da linguagem, apenas vamos para o próximo passo e reutilizá-la) - Depois dentro desta pasta da linguagem crie uma pasta com seu nickname, parecido com algo como
challenges/id_challenge/lang/nickname
- Resolva o desafio
- Copie o
model.md
dentro dechallenges
para a sua pasta criada anteriormente, preenchendo com as informações descritas e depois renomeie o arquivo para README.md - Crie uma branch com o desafio seguindo o modelo ao lado
git checkout -b challenges/id_challenge/lang/nickname
- O exemplo acima ficaria assim do desafio 0 feito em PHP para o usuário
danielhe4rt
:git checkout -b challenges/0-hello-world/php/danielhe4rt
- Depois adicione suas modificações com o comando
git add .
- Realize o commit com o comando
git commit -m 'Finalizando o desafio'
- Realize o push na branch, enviando suas modificações com o comando
git push origin challenges/id_challenge/lang/nickname
(não se esqueça de colocar as suas informações) - Abra um pull request e aguarde a revisão
Como o nosso objetivo será dar a melhor experiência possível para o participante, iremos ter algumas regras básicas de revisão de código para que exista uma boa interpretação geral ao usuário que vai revisar sua PR e claro para que você se sinta mais confortável, sendo elas:
- Reforçar uma leitura de código e tipagem quando possível;
- Erros de digitação/gramaticais e nomes de variáveis sem um contexto, tais como [a,b,c,x,y,z] deverão ser pedidas alterações;
- Isolamento de funções quando necessário também poderá ser requisitado.
Qualquer dúvida, poderá ir o nosso banco de dúvidas e abrir uma issue com a sua dúvida, assim, vamos responder o mais rápido possível.
Caso esse repositório seja atualizado com novos exercícios você precisa atualizar seu fork, por isso, siga os passos abaixo:
# 1. Mudar para a branch main
git checkout main
# 2. Checar se sua cópia local tem o link do original
git remote -v
# 3. Se não, adicione o link do original
git remote add upstream [email protected]:he4rt/he4rtoberfest-2023.git
# ou
git remote add upstream https://github.com/he4rt/he4rtoberfest-2023.git
# 4. Confirme se o link foi adicionado
git remote -v
# 5. Agora você pode fazer o fetch com o repo original, assumindo que o nome do link é 'upstream'
git fetch upstream
# 6. Fazer merge dos updates para sua branch main
git merge upstream/main main
# 7. Realizar o push para seu fork com as novas mudanças
git push origin main