# RoadMap Fornt-end Dev. Jr. 1. Etapa: Introdução a internet - Como funciona a internet? - O que é HTTP? - Navegadores e como eles funcionam? - DNS e como funciona? - O que é Nome de Domínio? - O que é hospedagem? 2. Etapa: Configurar ambiente de desenvolvimento - Instalar VSCode, ele é o editor de código aberto, que será utilizado para aprender lógica de programação. Também será utilizado para criação de sistemas e sites web, utilizando HTML, CSS e JavaScript. - Instalar o NodeJS, ele é um software de código aberto, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web. - Instalar o Git, ele é um sistema de controle de versões distribuído, usado principalmente no desenvolvimento de software, mas pode ser usado para registrar o histórico de edições de qualquer tipo de arquivo. - Criar uma conta no GitHub, ele é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou Open Source de qualquer lugar do mundo. - Gerar o par de chaves SSH Keys, são chaves de autenticação SSH para aprimorar a segurança do servidor remoto. Essas chaves será utilizada para se comunicar com a conta do GitHub 3. Etapa: Estudar Lógica de Programação e Git - Sintaxe e Construções Básicas - Faça bastantes algoritmos para treinar sua lógica - Não esqueça de fazer rascunhos, antes de começar a codar 4. Etapa: Sistemas de controle de versão - Estados do git: - Working Directory (Arquivos modificados, excluidos e adicionados) - Staging Area (Arquivos adicionados e preparados para serem versionados) - .git directory (repositório no GitHub) - Fluxo do versionamento: - Entender o que são: (branch, feature, issues, pull request) - O fluxo de trabalho básico Git é algo assim: 1. Você modifica, excluir ou criar arquivos no seu diretório de trabalho. 2. Você prepara os arquivos, adicionando imagens deles à sua área de preparo. 3. Você faz commit, o que leva os arquivos como eles estão na área de preparo e armazena essa imagens de forma permanente para o diretório do Git. 4. Você faz o git push, enviar os arquivos para o repositório no github - Comandos básicos como: - git clone (Clonar repositório do hithub) - git init (iniciliar um novo repositório local) - git remote add origin <link-do-repositorio> - git add . (adicionar todos os arquivos) - ou git add <nome-do-arquivo> (adicionar arquivos individualmente) - git commit -m "sua mensagem" (adicionar no staging area) - git push origin <nome-da-branch> (enviar arquivos para o repositório no github) - git pull origin <nome-da-branch> (atualizar a branch local) - git checkout <nome-da-branch> (mudar de branch) - git checkout -b <nome-da-branch> (criar nova branch) - git merge <nome-da-branch> (realizar o merge entre branches) 5. Etapa: HTML 1. Estrutura básica de uma página HTML 2. Tag's semânticas 3. Atributos das tags 4. Formulários 5. Link 6. Etapa: CSS 1. O que é o CSS? 2. Conhecendo o atributo style 3. Conhecendo o elemento style 4. Importando um arquivo CSS 5. Seletores básicos do CSS 6. Ordem de prioridade 7. Efeito cascata 8. Herança 9. Especificidade 10. Combinadores de seletores 11. Box-model 12. Margin, border e paddign 13. Bordas arredondadas 14. Reset e Normalize 15. Tipografia + Importação de fontes 16. Background 17. Layouts com Display Flex 18. Responsividade 7. Etapa: Javascript 1. DOM 2. Vinculação do JS 3. Evento inline 4. DOM Seletores 5. Modificando o DOM 6. addEventListener 7. Modificando classes 8. Manipulando Formulários 9. LocalStorage e SessionStorage 10. Assincronismo + Ajax 8. Etapa: Fazer deploy da aplicação no GitHub Pages 9. ReactJS - O que é NPM e como utlizar os comandos básicos - npx create-react-app <nome-do-site> - CRA (Create React App) - Estrutura básica do React - Componentes - hooks (useState, useEffect, useRef) - Integração com API - Rotas, Link, useNavigate e useParam com React Router Dom - Rotas protegidas - useLocalStorage - Context-API (Hooks customizados e contextos) - Testes com React Testing Library - Gerar Build da aplicação - Deploy no Vercel 10. NextJS