Código executável completo demonstrando a integração de sistemas Full Stack.


🗺️ Fluxo de Integração

flowchart TD
    NEXT["Next.js 14+ (App Router, Server Components & Streaming)"]
    NEXT -->|Server-to-Server Fetch| NEST["NestJS Backend (Modules, Controllers, Providers, Guards)"]
    NEST --> TYPEORM["TypeORM / Prisma + PostgreSQL"]
    
    style NEXT fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style NEST fill:#ffebee,stroke:#f44336,stroke-width:2px
    style TYPEORM fill:#e8f5e9,stroke:#4caf50,stroke-width:1px

📄 Código de Demonstração (produtos.service.ts)

// produtos.service.ts (NestJS Backend Service)
import { Injectable, NotFoundException } from '@nestjs/common';

export interface Produto {
  id: string;
  nome: string;
  preco: number;
}

@Injectable()
export class ProdutosService {
  private produtos: Produto[] = [
    { id: '1', nome: 'MacBook Pro M3', preco: 18000 },
    { id: '2', nome: 'Monitor Dell 32 4K', preco: 4500 }
  ];

  async buscarTodos(): Promise<Produto[]> {
    return this.produtos;
  }

  async buscarPorId(id: string): Promise<Produto> {
    const prod = this.produtos.find(p => p.id === id);
    if (!prod) throw new NotFoundException(`Produto com ID ${id} não encontrado`);
    return prod;
  }
}

🚀 Saída Esperada de Execução

[Nest] 4120  - 08/25/2026, 3:55:10 AM     LOG [NestFactory] Starting Nest application...
[Nest] 4120  - 08/25/2026, 3:55:10 AM     LOG [InstanceLoader] ProdutosModule dependencies initialized
[Nest] 4120  - 08/25/2026, 3:55:10 AM     LOG [RoutesResolver] ProdutosController {/api/produtos}:
[Nest] 4120  - 08/25/2026, 3:55:10 AM     LOG [RouterExplorer] Mapped {/api/produtos, GET} route

🧭 Navegação Rápida

| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Tópico | Ver Slides | Fazer Quiz | Ver Código | Praticar |


⬅️ Voltar ao Sumário dos Projetos