O curso oferece uma abordagem prática para o desenvolvimento de APIs RESTful utilizando Node.js e MongoDB, cobrindo desde a configuração inicial do ambiente de desenvolvimento até a publicação da API em produção. Os tópicos incluem a instalação e configuração de ferramentas essenciais como Node.js, NPM e Visual Studio Code, a criação de servidores web com controle de erros e portas normalizadas, além de técnicas para debug eficientes.
Com foco em boas práticas, o projeto conta com a estruturação e separação de responsabilidades por meio de rotas, controllers, modelos de dados (Models) e repositórios. Como usar o MongoDB com Mongoose para manipulação de dados e operações CRUD completas, incluindo criação, leitura (com filtros por slug, ID e tags), atualização e exclusão de produtos. Validações, criptografia de senhas e envio de e-mails também são abordados, aprimorando a segurança e funcionalidade da aplicação.
Adicionalmente, o curso explora autenticação e autorização com JWT, incluindo funcionalidades de Refresh Token e recuperação de dados do usuário logado. Recursos avançados como upload de imagens, gerenciamento de configurações centralizadas e implementação de relacionamentos entre entidades como clientes (Customer) e pedidos (Order) completam o conteúdo. Por fim, aborda também como publicar a API em produção, garantindo uma aplicação escalável e robusta, pronta para atender a demandas reais.
- Instalação Node, NPM e VS Code
- npm init e instalação dos pacotes
- Criando um servidor Web
- Normalizando a porta
- Gerenciando Erros do Servidor
- Iniciando o Debug
- Separando o Servidor
- Configurando o NPM Start
- Nodemon
- CRUD REST
- Rotas
- Controllers
- MongoDb Setup
- Mongooose
- Models
- Criando um Produto
- Listando os Produtos
- Listando um Produto pelo slug
- Listando um Produto pelo Id
- Listando os Produtos de uma tag
- Atualizando um produto
- Excluindo um produto
- Validações
- Repositórios
- Async/Await
- Revisitando os Models: Customer
- Revisitando os Models: Order
- Revisitando os Controllers: Customer
- Revisitando os Controllers: Order
- Arquivo de Configurações
- Encriptando a senha
- Enviando E-mail de Boas Vindas
- Upload da Imagem do Produto
- Autenticação
- Recuperando dados do usuário logado
- Refresh Token
- Autorização
- Outros
- Publicando a API
- Conclusão