Este é um guia focado para quem está começando no desenvolvimento back-end com a trilha de JavaScript e Node.js. O objetivo é apresentar as ferramentas e conceitos essenciais para te preparar para uma vaga de estágio.
Acreditamos que com um maior conhecimento das estruturas e soluções disponíveis, você poderá escolher a ferramenta que melhor se aplica às suas demandas. E lembre-se, 'hypes' e 'trendys' nem sempre são as melhores opções.
Não se assuste com a quantidade de conteúdo. Acredito que quem está começando pode usá-lo não como um objetivo, mas como um apoio para os estudos. Neste momento, dê enfoque no que te dá produtividade e o restante marque como Ver depois. Ao passo que seu conhecimento se torna mais amplo, a tendência é este guia fazer mais sentido e ser fácil de ser assimilado. Bons estudos e entre em contato sempre que quiser! 👊
Esse projeto tomou como referência para ser feito os roadmaps do projeto roadmap.sh. Agradecemos a todos os autores originais por fornecerem esse conteúdo que serviu de base para a criação deste repositório.
🐵 Git & Github
🐶 HTTP
🦁 JavaScript
🐴 Node.js
🐼 APIs
🐒 SQL
🐲 PostgreeSQL
🐔 MongoDB
🐳 Docker
🛠️ Ferramentas & Desafios
Git é um sistema de controle de versões distribuído, usado principalmente no desenvolvimento de software. É essencial para trabalhar em equipe e registrar o histórico de edições de qualquer tipo de arquivo.
- Git4Noobs - Aprenda que o Git não é um "monstro" e como usá-lo em um ambiente com mais de um desenvolvedor.
- Aprenda Git - Site interativo para aprender e praticar os comandos do Git.
- Conhecendo os super poderes do Git - Guia com uma seleção de comandos úteis para o trabalho com Git e GitHub.
O Hypertext Transfer Protocol (HTTP) é um protocolo de comunicação e a base para a comunicação de dados da World Wide Web. Entendê-lo é fundamental para qualquer desenvolvedor web, pois é assim que o cliente (front-end) e o servidor (back-end) conversam.
- MDN - HTTP - O MDN Web Docs é o website oficial da Mozilla e uma referência para padrões web.
JavaScript é uma linguagem de programação de alto nível, essencial para o desenvolvimento web. No back-end, ela é utilizada através de ambientes como o Node.js para construir servidores e APIs.
- MDN - JavaScript - O MDN Web Docs é a melhor fonte para aprender JavaScript, do básico ao avançado.
- Cursos de JavaScript - Cursos de JavaScript do repositório geral do Guia Dev Brasil.
O Node.js é um ambiente de execução que permite criar aplicações JavaScript que rodam no servidor, fora do navegador. É com ele que você construirá suas APIs e toda a lógica do lado do servidor.
- Node.js - W3Schools - Tutoriais e referências para aprender Node.js de forma prática.
- Documentação do Node.js - Documentação oficial (em inglês), essencial para consulta.
Uma API (Interface de Programação de Aplicações) é uma forma de comunicação entre sistemas. Como desenvolvedor back-end, seu principal trabalho será construir APIs que fornecem informações e serviços para outras aplicações (como um front-end web ou um aplicativo mobile).
- MDN - APIs - Entenda os conceitos gerais sobre APIs.
- APIs Públicas - Uma lista de APIs gratuitas para você testar, consumir e se inspirar.
SQL (Structured Query Language) é a linguagem padrão para interagir com bancos de dados relacionais. É usada para consultar, inserir, atualizar e deletar dados.
- SQL - W3Schools - Aprenda os comandos SQL fundamentais de forma interativa.
- Documentação do SQL - Documentação Oficial da Microsoft.
PostgreSQL é um poderoso sistema de gerenciamento de banco de dados relacional de código aberto. É uma excelente escolha para começar, sendo amplamente utilizado no mercado.
- Documentação do PostgreeSQL em PT-BR - Documentação traduzida para o português.
- Documentação do PostgreeSQL - Documentação Oficial em inglês.
MongoDB é um banco de dados NoSQL (não relacional) orientado a documentos. Ele usa documentos parecidos com JSON e é muito popular no ecossistema JavaScript por sua flexibilidade e escalabilidade.
- Documentação do MongoDB - Documentação Oficial em inglês.
Docker é uma plataforma que usa contêineres para criar, implantar e executar aplicações. Ele permite "empacotar" uma aplicação com tudo o que ela precisa (bibliotecas, dependências, etc.) e executá-la de forma consistente em qualquer ambiente. Facilita muito a configuração do ambiente de desenvolvimento.
- Docker 101 Tutorial - Tutorial oficial e prático para aprender os conceitos básicos: criar imagens, executar contêineres e usar volumes.
- Documentação do Docker - Documentação do Docker em inglês.
Sites para treinar suas habilidades e construir projetos back-end.
- Dev Challenge Back-End - Treine suas habilidades com desafios Back-end.
- HackerRank - Desafios de Programação Back-end. IDE integrada.
- CoderByte - Desafios de Programação Back-end. IDE integrada.
- CodeWars - Desafios de Programação Back-end. IDE integrada.
- LeetCode - Desafios de Programação Back-end. IDE integrada.
- URI/Beecrowd - Desafios de Programação Back-end, matemáticos e SQL. IDE integrada.