Quero iniciar no back-end, por onde sigo?
Fala pessoal!
Hoje atuo como Dev Jr. React e desde então meu foco nos estudos sempre foi front-end.
Porém, há algum tempo veio me despertando curiosidade e vontade de começar a investir tempo para aprender mais sobre desenvolvimento back-end, pra conseguir realizar projetos mais elaborados e com mais liberdade, sem precisar depender de API's públicas.
Mas, sou um comoleto leigo em diversos assuntos que se dizem respeito ao back-end hehe. Gostaria de começar com NodeJS e aprender a criar algumas API's, acredito que seria necessário aprender algo de Docker e banco de dados também.
Gostaria de pedir algumas sugestões de cursos e conteúdos sobre NodeJS e conteúdos relacionados para a criação de API's. Quem puder contribuir será muito bem vindo!
E ai ! não tenho indicação de curso, mas vou te indicar um mini roteiro que eu segui:
1°. eu aprendi sobre banco de dados relacional (sendo ele MySQL) e banco de dados não relacional (optei por MongoDB). Como é um conhecimento extenso, faz sentido estudar isso a parte, sem misturar com código pelo menos no início. Aqui, você põe energia em estudar como modelar um banco, como criar relacionamentos entre entidades, como buscar conteúdo nesse banco seja de forma simples e seja de forma complexa.
2°. depois, eu aprendi os fundamentos de backend, que consiste em você fazer sua primeira API, simpleszinha, como você já domina Javascript então aqui eu recomendaria você aprender a fazer uma API simples usando ExpressJS. Aqui você vai se familiarizar com o conceito de rotas/endpoints da API, como receber parâmetro nessas rotas, como receber um JSON no body, o que são o status code http, e mais umas coisinhas simples.
3°. Aqui eu já comecei a aprofundar meus conhecimentos de API com arquitetura de software, que basicamente vai te ensinar a como funciona o padrão de organizar suas pastas e arquivos e boas práticas. Eu optei pela arquitetura MSC (model, service e controller), mas existem outras como a MVC (model, view e controller). Aqui você precisa aprender a fazer sua API nessas diferentes camadas, e com isso, saber a diferença e importância dessas camadas. Aqui você também vai acabar, no caso do NodeJS, aprofundando o que são middlewares e como eles te ajudam a fazer a arquitetura passando informação de uma camada para outra
4°. Agora seria um bom momento pra você aprender a conectar o seu backend no seu banco de dados (seja ele sql ou nosql). não é tão difícil de achar esse conteúdo na internet, existe várias dependências para isso, e partir daqui você já pode fazer CRUDS com o seu banco (create, read, update, delete), também pode ser um bom momento pra você aprender docker, começando por rodar o banco de dados dentro de um container docker (o que é muito bom, mas não é necessário pra rodar isso tudo no seu pc local)
5°. Uffa! com o backend rodando com banco de dados, aqui você já deve saber o básico. Depois disso eu aprofundei diversos pontos cuja ordem acredito não ser relevante, porém são pontos importantes, como: aprender a fazer autenticação/login (com JSON Web Token - JWT), aprender mexer na estrutura de seu banco de dados pelo NodeJS, inclusive, fazendo o versionamento do banco de forma parecida com o git commit (o nome disso é migration, e pode ser feito por diversas dependências, uma das mais famosas é o Sequelize), aprender sobre como fazer upload de arquivos na sua API (também tem bibliotecas pra isso, como o Multer), aprender a fazer um bom tratamento de erro no backend (gosto de usar um middleware de erro + uma biblioteca chamada Rescue), e espero ter ajudado e não ter esquecido de nada hahaha