NaQuadra
InícioJogosClassificaçãoTimesNotíciasGlossárioSobre
NaQuadra

Entenda a NBA. Acompanhe seus times. Viva a quadra.

Sobre o Projeto•Glossário•GitHub
InícioJogosClassificaçãoBuscarFavoritos
🏗️

Sobre o Na Quadra

Um portfólio técnico fullstack construído intencionalmente para demonstrar arquitetura moderna, integração com AWS, e domínio de Node.js/React em escala.

Stack Tecnológico

⚛️Next.js 16App Router + SSR/SSG
🔷TypeScriptType-safety end-to-end
💚Node.jsRuntime backend
🏛️NestJSAPI REST modular
🐬MySQLDados relacionais (users, teams)
🍃MongoDBArtigos e conteúdo dinâmico
⚡DynamoDBScores em tempo real
☁️AWS LambdaWorkers serverless
📬AWS SQSFila de eventos/mensageria
📢AWS SNSNotificações push
🪣AWS S3Assets e mídia
⚙️GitHub ActionsCI/CD automatizado
🌀TurborepoMonorepo management
🎨CSS ModulesDesign system sem framewk.

Arquitetura Frontend


  ┌─────────────────────────────────────────────────────────┐
  │                    CLIENTE (Browser)                     │
  │  Next.js 16 · App Router · SSR/SSG · CSS Modules        │
  └──────────────────────┬──────────────────────────────────┘
                         │ HTTPS
  ┌──────────────────────▼──────────────────────────────────┐
  │                   AWS CloudFront (CDN)                   │
  └──────────────────────┬──────────────────────────────────┘
                         │
  ┌──────────────────────▼──────────────────────────────────┐
  │               NestJS API (apps/api)                      │
  │  Auth · Teams · Players · Articles · Standings           │
  │  ┌──────────┐ ┌──────────┐ ┌──────────┐                 │
  │  │  MySQL   │ │ MongoDB  │ │DynamoDB  │                 │
  │  │ (users)  │ │(articles)│ │(scores)  │                 │
  │  └──────────┘ └──────────┘ └──────────┘                 │
  └──────────┬────────────────────────┬────────────────────-┘
             │ publica eventos        │
  ┌──────────▼──────────┐  ┌─────────▼─────────────────────┐
  │     AWS SQS         │  │        AWS SNS                 │
  │  game-events-queue  │  │  notificações para usuários    │
  └──────────┬──────────┘  └────────────────────────────────┘
             │ consome
  ┌──────────▼──────────────────────────────────────────────┐
  │                  AWS Lambda Workers                       │
  │  score-sync · news-ingestion · notification-dispatch     │
  │                ↕ ESPN API / RSS Feeds                    │
  └─────────────────────────────────────────────────────────┘
  

Funcionalidades Técnicas

🏀

Scoreboard em Tempo Real

Jogos ao vivo com integração à API da ESPN. Um Lambda worker consome o feed da API a cada 30s, publica via SQS e atualiza o DynamoDB. O frontend faz polling inteligente com cache de edge (CDN) para minimizar latência.

LambdaSQSDynamoDBESPN API
📰

Feed de Notícias com Multi-fonte

NestJS com arquitetura modular (Module/Service/Repository). Artigos vêm de múltiplas fontes (RSS, API, CMS) e são normalizados e persistidos no MongoDB. Suporta publicação interna por editores.

NestJSMongoDBRSS Ingestion
📚

Glossário Educativo

Camada de educação para fãs iniciantes. Termos explicados em português, com busca full-text e filtros por dificuldade. Uma das diferenciações do produto e argumento de negócio para retenção de usuários.

MongoDBFull-text search
🔔

Notificações Inteligentes

Usuários se inscrevem em times favoritos. Um Lambda consome eventos de jogo do SQS e publica notificações via SNS para os assinantes, com suporte a WebPush e e-mail.

LambdaSNSSQSWebPush
🔐

Auth com JWT + Refresh Token

Autenticação stateless com JWT de curta duração e refresh tokens rotativos armazenados de forma segura. Roles de usuário (fan, editor, admin) controlam acesso à API com Guards do NestJS.

JWTNestJS GuardsMySQL
📊

Migração de Legado → Serverless

Demonstra a migração gradual de um monolito NestJS para uma arquitetura de microserviços/serverless na AWS. Primeiro os workers independentes migram para Lambda, preservando a API core estável.

Node.jsLambdaStrangler Fig Pattern

Backend e Integração (BFF)

Este projeto é um portfólio vivo. O código-fonte está disponível no GitHub, incluindo CI/CD, testes, infraestrutura AWS e arquitetura de produção.

GitHub →LinkedIn