Skip to content

ColombiniP/back-end-nodejs

Repository files navigation

Cronograma de Estudos - Back-end com Node.js

Visão Geral

Este cronograma cobre 4 semanas de estudo focado em JavaScript, Estruturas de Dados, Back-end, API REST, Node.js, Express e Arquitetura de Projetos.

Cada semana possui 5 dias de aprendizado, 2 dias de revisão e um projeto prático no 8º dia.


Sumário


Semana 1: Fundamentos Avançados de JavaScript

Dia 1: JavaScript Avançado - Manipulação de Arrays e Objetos

📌 Conteúdo:

  • Métodos de arrays: map(), filter(), reduce(), forEach().
  • Desestruturação de objetos e arrays.
  • Operador spread/rest.

🔗 Recursos:

📝 Exercícios:

  • Criar uma função que filtra números pares de um array.
  • Criar uma função que soma os valores de um array de objetos.

Dia 2: Manipulação de Promises e Async/Await

📌 Conteúdo:

  • Promises e como lidar com then() e catch().
  • Async/Await e tratamento de erros com try/catch.

🔗 Recursos:

📝 Exercícios:

  • Criar uma função assíncrona que busca dados de uma API pública.
  • Criar uma função que simula um tempo de espera usando setTimeout e Promise.

Dia 3: Programação Orientada a Objetos (POO) em JavaScript

📌 Conteúdo:

  • Classes e herança.
  • Encapsulamento e métodos privados.

🔗 Recursos:

📝 Exercícios:

  • Criar uma classe Carro com propriedades e métodos.
  • Criar uma classe ContaBancaria com depósitos e saques.

Dia 4: Estruturas de Dados - Pilhas, Filas e Listas Ligadas

📌 Conteúdo:

  • Conceitos de pilhas e filas.
  • Implementação em JavaScript.

🔗 Recursos:

📝 Exercícios:

  • Criar uma estrutura de Pilha (Stack) com push e pop.
  • Criar uma Fila (Queue) com enqueue e dequeue.

Dia 5: Algoritmos de Ordenação e Busca

📌 Conteúdo:

  • Bubble Sort, Merge Sort e Quick Sort.
  • Busca Linear e Binária.

🔗 Recursos:

📝 Exercícios:

  • Implementar Quick Sort.
  • Implementar Busca Binária.

Dias 6 e 7: Revisão com Exercícios

📌 Atividades:

  • Resolver desafios no Codewars.
  • Criar um resumo dos conceitos aprendidos.

Dia 8: Projeto Prático - CRUD Simples com Arrays

📌 Descrição: Criar um sistema de gerenciamento de tarefas usando apenas arrays e objetos. 🔹 CRUD (Create, Read, Update, Delete)


Semana 2: Introdução ao Back-end com Node.js

Dia 1: Introdução ao Node.js e Módulos

📌 Conteúdo:

  • O que é Node.js.
  • Criando e utilizando módulos no Node.js.

🔗 Recursos:

📝 Exercícios:

  • Criar um módulo que exporta uma função matemática.

Dia 2: File System (fs) - Manipulação de Arquivos

📌 Conteúdo:

  • Lendo e escrevendo arquivos com fs.readFile e fs.writeFile.

🔗 Recursos:

📝 Exercícios:

  • Criar um script que lê e escreve um arquivo JSON.

Dia 3: Criando um Servidor HTTP com Node.js

📌 Conteúdo:

  • O módulo http e a criação de um servidor básico.

🔗 Recursos:

📝 Exercícios:

  • Criar um servidor que retorna "Olá, mundo!".

Dia 4: Introdução ao Express.js e Rotas

📌 Conteúdo:

  • Instalando e configurando um servidor Express.
  • Criando rotas (GET, POST).

🔗 Recursos:

📝 Exercícios:

  • Criar um servidor com Express que retorna uma lista de produtos fictícios.

Dia 5: Middlewares e Estruturação de APIs REST

📌 Conteúdo:

  • Criando uma API RESTful simples.

🔗 Recursos:

📝 Exercícios:

  • Criar um middleware que registra as requisições no console.

Dias 6 e 7: Revisão com Exercícios

📌 Atividades:

  • Resolver desafios de código no LeetCode.

Dia 8: Projeto Prático - API de Notas

📌 Descrição: Criar uma API REST simples para gerenciar notas.


Semana 3: CRUD com Express e Banco de Dados

Objetivo: Criar um CRUD completo com Express e um banco de dados relacional.

Dia 1: Métodos HTTP e CRUD

📌 Conteúdo:

  • Métodos HTTP: GET, POST, PUT, DELETE.
  • Criando um CRUD básico com Express.js.

🔗 Recursos:

📝 Exercícios:

  • Criar um CRUD para gerenciar tarefas.

Dia 2: Conectando com um Banco de Dados

📌 Conteúdo:

  • Introdução ao SQLite/PostgreSQL.
  • Criando tabelas e inserindo dados.

🔗 Recursos:

📝 Exercícios:

  • Criar um banco de dados SQLite e popular com dados.

Dia 3: Implementando CRUD com Banco de Dados

📌 Conteúdo:

  • Integrando Express.js com banco de dados.
  • Manipulando registros (SELECT, INSERT, UPDATE, DELETE).

📝 Exercícios:

  • Criar uma API que busca usuários do banco de dados.

Dia 4: Autenticação com JWT

📌 Conteúdo:

  • Implementação de login e autenticação via JWT.

🔗 Recursos:

📝 Exercícios:

  • Criar um sistema de login básico com JWT.

Dia 5: Organização do Projeto

📌 Conteúdo:

  • Arquitetura MVC e boas práticas.

🔗 Recursos:

📝 Exercícios:

  • Reestruturar um projeto Express seguindo o padrão MVC.

Dias 6 e 7: Revisão

📌 Atividades:

  • Resolver exercícios no Codewars.
  • Refazer exercícios sem olhar a solução.

Dia 8: Projeto Prático - API de Usuários

📌 Descrição: Criar uma API de gerenciamento de usuários com autenticação. 🔹 Utilizar Express.js e PostgreSQL. 🔹 Implementar autenticação com JWT.


Semana 4: Boas Práticas e Testes

Objetivo: Aprender sobre segurança, testes e deploy de APIs.

Dia 1: Segurança em APIs

📌 Conteúdo:

  • Proteção contra ataques (CORS, Helmet).

🔗 Recursos:

📝 Exercícios:

  • Implementar proteção CORS em um projeto.

Dia 2: Testes com Jest e Supertest

📌 Conteúdo:

  • Introdução a testes automatizados.

🔗 Recursos:

📝 Exercícios:

  • Escrever testes para um CRUD existente.

Dia 3 e 4: Deploy e Monitoramento

📌 Conteúdo:

  • Deploy no Railway/Vercel.
  • Logs e monitoramento.

🔗 Recursos:


Dia 8: Projeto Final - API Completa

🔹 Criar uma API completa com autenticação e deploy.


About

Cronograma de Estudos - Back-end com Node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published