API GraphQL com NestJS + Prisma + DataLoader + Subscriptions
- Nível: Projetos
- Módulos: 8
- Aulas: 30
- Tempo de leitura: 1h 37min
- Tecnologias: NestJS, Prisma
- Preço: R$ 97,00
Código do curso: github.com/johnpires/api-graphql-nestjs-prisma
Construa uma API GraphQL production-ready com NestJS, Prisma ORM, DataLoader para evitar N+1 queries, e Subscriptions em tempo real via WebSockets. Aprenda autenticação JWT, paginação com cursor, upload de arquivos e deploy no Railway.
Conteúdo do curso
Módulo 1: Módulo 1 — Introdução e Setup do Projeto
Visão geral da API GraphQL que vamos construir, setup do ambiente NestJS e configuração inicial do Prisma.
- 1.1 O que vamos construir: API GraphQL production-ready (8 min)
- 1.2 Configurando o ambiente de desenvolvimento (8 min)
- 1.3 Estrutura do projeto e organização de módulos (3 min)
Módulo 2: Módulo 2 — GraphQL Fundamentos com NestJS
Aprenda a criar schemas GraphQL, types, queries e mutations usando o code-first approach do NestJS.
- 2.1 Code-first approach: Types e ObjectTypes (8 min)
- 2.2 Queries e Mutations com Resolvers (3 min)
- 2.3 InputTypes, Args e validação com class-validator (3 min)
- 2.4 ResolveField: relacionamentos entre types (2 min)
Módulo 3: Módulo 3 — Prisma ORM: Schema e Migrações
Modele o banco de dados com Prisma Schema, crie migrações, relacionamentos e seeds de dados.
- 3.1 Modelando o schema Prisma completo (8 min)
- 3.2 Migrações e seeds de dados (2 min)
- 3.3 Queries avançadas com Prisma Client (3 min)
- 3.4 Relacionamentos many-to-many e soft delete (3 min)
Módulo 4: Módulo 4 — Resolvers Avançados e DataLoader
Implemente resolvers complexos e use DataLoader para resolver o problema N+1 queries de forma eficiente.
- 4.1 O problema N+1 e como o DataLoader resolve (2 min)
- 4.2 Integrando DataLoader ao contexto GraphQL (2 min)
- 4.3 Cache do DataLoader e estratégias de invalidação (3 min)
- 4.4 Erros customizados e error handling no GraphQL (3 min)
Módulo 5: Módulo 5 — Autenticação JWT no GraphQL
Proteja sua API com autenticação JWT, guards, roles e decoradores customizados no NestJS.
- 5.1 Implementando login e registro com JWT (3 min)
- 5.2 Guards e decoradores para proteger resolvers (3 min)
- 5.3 Refresh Token e logout seguro (3 min)
- 5.4 Autenticação em Subscriptions WebSocket (2 min)
Módulo 6: Módulo 6 — Subscriptions em Tempo Real
Adicione subscriptions GraphQL via WebSockets com PubSub para notificações em tempo real.
- 6.1 PubSub e o sistema de eventos do GraphQL (2 min)
- 6.2 Filtros e subscriptions por usuário (2 min)
- 6.3 Redis PubSub para produção multi-instância (2 min)
- 6.4 Teste de Subscriptions com cliente WebSocket (2 min)
Módulo 7: Módulo 7 — Paginação, Filtros e Upload
Implemente paginação cursor-based, filtros dinâmicos e upload de arquivos na sua API GraphQL.
- 7.1 Paginação cursor-based estilo Relay (3 min)
- 7.2 Filtros dinâmicos e ordenação no GraphQL (3 min)
- 7.3 Upload de arquivos com GraphQL Multipart (3 min)
- 7.4 Upload para AWS S3 em produção (2 min)
Módulo 8: Módulo 8 — Deploy e Produção no Railway
Configure variáveis de ambiente, PostgreSQL na nuvem e faça o deploy completo no Railway.
- 8.1 Preparando a API para produção (2 min)
- 8.2 Deploy no Railway com PostgreSQL e Redis (2 min)
- 8.3 Próximos passos e melhorias da API (2 min)