Skip to content

Codelife-Compet/curso_node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Curso node.js

Introdução

Este é um repositório destinado para acompanhar e avançar nos estudos de Node.js através do livro de apoio Programação web com Node e Express - Ethan Brown e aplicando os conhecimentos de git e github para colaboração entre os membros.

Objetivos

O objetivo deste repositório é desenvolver habilidades práticas de desenvolvimento web, beneficiando-se da stack Javascript para posteriormente aplicar tais conhecimentos no projeto codeLife.

Tecnologias utilizadas

Aqui estão algumas tecnologias que serão utilizadas no nosso repositório, você pode clicar para ser redirecionado às documentações de cada tecnologia.


HTML CSS Express Puppeteer Jest Handlebars MongoDb bootstrap


Como contribuir com o projeto

Este é um repositório de aprendizado, então, caso você tenha chegado recentemente, recomendo o seguinte:

  1. Se habitue a utilizar o git :

    Tem um mini tutorial logo abaixo de como instalar e configurar o git

    O processo de aprendizado do uso do git será algo que dependerá de você, e da prática, procure aprender o básico e evolua aos poucos, confie em mim.

  2. Utilize o github o máximo possível: Este é o lugar onde você pode tirar suas dúvidas, mostrar sua evolução e se preparar para o desafio de verdade, que é melhorar nosso querido codelife. Abuse das issues para tirar dúvidas, falar sobre problemas no código e organizar suas tarefas.

    No link a seguir estarão algumas dicas pra quem está iniciando no github.

  3. Leia o livro! Nosso repositório segue uma bibliografia incrível do Ethan Brown que ensina do zero a utilizar o express para desenvolver aplicações web reais tocando cada ponto importante para tal. O link está na seção de links úteis.

  4. Habitue-se a aprender: Há muitas tecnologias envolvidas no desenvolvimento web, mas a base do desenvolvimento web não é abordado nesse livro. Se você é um total iniciante em programação, busque aprender a base (javascript,HTML e CSS), recomendo muito a plataforma DIO para isso.

Clonando o projeto

Primeiramente certifique-se de ter seguido o tópico Instalando e configurando o git, se já o fez, basta copiar o link de contribuição do repositório:

cloneCodelife

E usar o seguinte comando no terminal do seu computador:

$ git clone <link-de-contribuição-do-repositório>

Lembre-se de abrir o terminal na pasta onde quiser clonar o projeto

cloneCodelifeTutorial

cd curso_node abre a pasta que foi criada a partir do clone do projeto, e então você tem acesso a todo o conteúdo desenvolvido separado por capítulos.

Instale as dependências do projeto utilizando

$ npm install

npmInstall

Certifique-se de estar no diretório raíz do projeto (./curso_node)

Comandos no package.json

Como estamos utilizando o módulo nodemon como dependência de desenvolvimento, podemos criar scripts automatizados para serem rodados no terminal. No nosso repositório vamos padronizar o nome dos scripts principais como cap<númeroDocapítulo>, e usaremos o nodemon para rodar esses scripts, de forma que não precisaremos mais encerrar e re-executar o script manualmente a cada alteração o arquivo package.json terá algo como:

"scripts":{
"cap2": "nodemon /Cap_2/index.js"
}

Para rodar esse script basta rodar o comando :

$ npm run cap2

npmRun

Esse comando é equivalente a executar node Cap_2/index.js, só que toda vez que houver uma alteração no projeto você deverá apertar CTRL+C e executar esse comando novamente.

Instalando e configurando o git

Primeiramente baixe o git no seu computador através deste link e instale-o na sua máquina:

gitTutorialINstalation

Configurando usuário e email

Uma vez instalado é hora de configurar! Para isso abra o terminal da sua máquina (se estiver usando windows, clique com o botão direito do mouse e selecione a opção bash here :

bashere

Em seguida configure o nome de usuário e o seu email padrão através dos comandos:

$ git config --global user.name "<nomeDoUsuário>"
$ git config --global user.email <emailDoUsuário>

gitconfig

Esses dados são utilizados pelo git para encriptar cada commit em um código único usando a criptografia SHA1

Criando uma chave SSH

O SSH é um protocolo de rede que permite que a conexão com determinados servidores por meio de uma comunicação criptografada, trazendo mais segurança para as transações de dados. No Github essa tecnologia é utilizada para gerenciar seus repositórios e suas contribuições de forma remota.

Para gerar uma chave SSH utilize o seguinte comando:

$ ssh-keygen -t ed25519 -C "your_email@example.com"

Isso gerará um flow no terminal que solicitará a pasta onde o arquivo de encriptação se encontra, uma senha e sua confirmação

ssh

Agora vá até a pasta solicitada, abra o arquivo criado com o bloco de notas e copie esse código:

sshCopy

No seu caso copie o código que possui pub no final.

No github vá até configurações SSH, selecione new SSH key, dê um nome para sua chave, e cole o conteúdo copiado, salve, e em seguida será solicitado uma autenticação, após feita, seu github está devidamente configurado e pronto para ser utilizado!

Como contribuir para o repositório

Deixarei neste tópico algumas boas práticas para serem seguidas ao contribuir com nosso repositório.

Regra zero do repositório

Não que existam outras regras numeradas, mas essa realmente merece esse nome.

NUNCA, eu disse, NUNCA , faça alterações diretamente na branch main. O motivo é bem simples, o código da branch main, é o código principal do repositório. É a partir dele que quem vai desenvolver novos códigos vai se basear, e por isso, esse código deve ser estável (que significa que foi revisado e testado, além de funcionar de acordo com o que é esperado).

Então a única maneira de fazer isso é proibindo o uso da branch main para edição direta, logo para fazer edições crie uma nova branch com um nome sugestivo para a o que você pretende fazer e ao terminar, crie um pull request para iniciar o processo de revisão do código.

Criando pontos de progressão

Para manter a organização, planejamento e distribuição de tarefas para os membros, precisamos primeiramente separar nossas issues/tarefas em capítulos usando os milestones do github para acompanhar a progressão dos capítulos do livro.

Para criar um milestone siga o exemplo abaixo:

milestone

Criando issues/tarefas

Em cada capítulo são determinadas algumas tarefas e ao criar uma issue no repositório deve-se sempre cumprir os seguintes pontos:

  1. Dar um título expressivo, que descreva sucintamente o que deve ser feito na issue
  2. Descrever as tasks a serem cumpridas, usando a marcação de task-list do markdown
  3. Marcar os responsáveis pela execução da tarefa
  4. Utilizar as labels/tags de acordo com a natureza da atividade
  5. Marcar o milestone/capítulo referente àquela issue/tarefa
  6. Após criar a issue, em development, crie uma branch focada na execução da tarefa (se for uma tarefa que envolva código) ou relacione com um pull request aberto

Criando um pull request

Se você é novo no github esse termo pode ser novidade pra você, e possivelmente você nunca o fez, mas é algo simples e fácil de se fazer.

Ao adicionar código ao nosso repositório, provavelmente você já tem conhecimento sobre o básico do git, e também já sabe sobre a regra zero do repositório, então você já criou uma branch para o desenvolvimento do seu código e subiu esse código para o repositório através de um push.

Agora é o momento de fazer seu pull request, e aqui vamos listar as boas práticas para você mostrar pra gente o que você fez:

  1. Insira um bom título para a issue.
  2. Descreva o que foi feito. Não é necessária uma descrição minunciosa pois o código faz isso por você, mas boas descrições facilitam o entendimento do código durante as revisões
  3. Tenha uma issue linkada.
    • Caso você já tenha uma issue criada, basta clicar em development e selecionar a issue correspondente
    • Caso não tenha nenhuma issue criada, não faça nada, posteriormente pode ser criada uma issue linkando esse pull request.
  4. Certifique-se de marcar os responsáveis pelo desenvolvimento do código
  5. Marque alguém para revisar o código: provavelmente haverá alguém responsável por isso por padrão, caso contrário, marque alguém que seja capaz de revisar seu código.
  6. Use bem as labels, e certifique-se de que elas são compatíveis com seu pull request

Links úteis

Aqui serão adicionados links considerados úteis para o prosseguimento do aprendizado, tanto dos atuais membros quanto para membros futuros.

Dependências e Módulos

Cada capítulo possui algumas dependências e módulos necessários para seu pleno funcionamento. Aqui listamos por capítulos cada pacote instalado, e a forma como foi instalado.

Capítulo 2

Dependência código Exemplo de utilização
Nodemon npm install --save-dev nodemon nodemon código.js

http ( módulo padrão do node ) | const http= require('http') | http.createServer()

fs ( módulo padrão do node ) | const fs= require('fs') | fs.readFile()


Capítulo 3

Dependência comando de uso/instalação Exemplo de utilização
Express npm install express const express = require('express')
express-handlebars npm install express-handlebars const expressHandlebars = require('express-handlebars')
Nodemon npm install --save-dev nodemon nodemon código.js

Arquitetura dos exemplos

Cada capítulo possuirá notas importantes para serem lidas posteriormente, bem como a estrutura dos exemplos contidos no livro.

About

Curso node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6