Sistema de Upload: Imagens e PDFs com Node.js + Multer + S3
- Nível: Projetos
- Módulos: 7
- Aulas: 28
- Tempo de leitura: 2h 56min
- Tecnologias: Node.js
- Preço: R$ 47,00
Código do curso: github.com/johnpires/sistema-upload-nodejs-multer-s3
Aprenda a construir um sistema de upload profissional para imagens e PDFs usando Node.js, Multer e Amazon S3. Projeto hands-on cobrindo validação de arquivos, armazenamento em nuvem, geração de URLs assinadas e boas práticas de segurança.
O que você vai aprender
Construir um sistema de upload completo com Node.js + Multer + Amazon S3. Validar tipos e tamanhos de arquivo. Gerar URLs assinadas para acesso seguro. Implementar boas práticas de segurança em uploads. Fazer deploy em produção com Railway.
Pré-requisitos
Conhecimento básico de JavaScript, Node.js e Express. Noções de REST API. Conta AWS (tier gratuito é suficiente).
Conteúdo do curso
Módulo 1: Módulo 1 — Introdução e Setup
Visão geral do projeto, configuração do ambiente e estrutura do código.
- 1.1 O que vamos construir (8 min)
- 1.2 Configurando o ambiente de desenvolvimento (8 min)
- 1.3 Estrutura do projeto (8 min)
Módulo 2: Módulo 2 — Fundamentos do Multer
Configuração do Multer, validação de tipos e tamanho, upload de múltiplos arquivos.
- 2.1 O que é Multer e como funciona (8 min)
- 2.2 Filtrando tipos de arquivo com fileFilter (8 min)
- 2.3 Limitando tamanho e múltiplos arquivos (8 min)
- 2.4 Sanitizando nomes de arquivo (8 min)
- 2.5 Testando uploads com Postman e REST Client (8 min)
Módulo 3: Módulo 3 — Amazon S3: Configuração e Integração
Criação do bucket S3, configuração de credenciais AWS e SDK Node.js.
- 3.1 Criando bucket S3 e configurando permissões (8 min)
- 3.2 Configurando o SDK AWS v3 no Node.js (8 min)
- 3.3 Fazendo upload para o S3 com PutObjectCommand (8 min)
- 3.4 Deletando arquivos e gerenciando o bucket (8 min)
Módulo 4: Módulo 4 — Upload Direto para o S3 com multer-s3
Integração multer-s3, organização em pastas, URLs públicas e assinadas.
- 4.1 Upload direto ao S3 com multer-s3 (8 min)
- 4.2 URLs assinadas (Presigned URLs) (2 min)
- 4.3 Redimensionamento de imagens com Sharp (2 min)
- 4.4 Middleware de autenticação JWT (8 min)
Módulo 5: Módulo 5 — API de Upload Completa
Rotas de upload de imagem e PDF, redimensionamento com Sharp, listagem e autenticação JWT.
- 5.1 API completa: rota de upload de imagem (8 min)
- 5.2 Rota de upload de múltiplas imagens (2 min)
- 5.3 Rota de upload de PDF (2 min)
- 5.4 Listagem e gerenciamento de arquivos (2 min)
- 5.5 Tratamento de erros global (2 min)
Módulo 6: Módulo 6 — Segurança e Boas Práticas
Sanitização de nomes, rate limiting, proteção contra arquivos maliciosos e variáveis de ambiente.
- 6.1 Rate limiting para rotas de upload (8 min)
- 6.2 Proteção contra uploads maliciosos (2 min)
- 6.3 Configuração segura com variáveis de ambiente (8 min)
- 6.4 Logs estruturados com Winston (8 min)
Módulo 7: Módulo 7 — Deploy e Conclusão
Deploy no Railway, configuração de variáveis em produção e próximos passos.
- 7.1 Deploy no Railway com variáveis de ambiente (8 min)
- 7.2 Testando a API em produção (8 min)
- 7.3 Próximos passos e melhorias (2 min)