Skip to content

Develop#87

Merged
Benevanio merged 7 commits into
masterfrom
develop
May 23, 2026
Merged

Develop#87
Benevanio merged 7 commits into
masterfrom
develop

Conversation

@Benevanio

Copy link
Copy Markdown
Collaborator

Aprimorando tempos de resposta

hltav added 5 commits April 22, 2026 16:30
- migra toda a pipeline de scraping do backend Node.js para o serviço scraper-go
- centraliza gerenciamento de cache dentro do serviço Go
- implementa providers de cache em memória e Redis no Go
- adiciona factory de cache com fallback automático para Redis
- implementa helpers genéricos de cache usando generics do Go
- adiciona deduplicação de requisições com singleflight
- migra lógica de searchJobsWithCache para pipeline em Go
- migra orquestração do scrapeAllSources para Go
- adiciona normalização de cache keys e geração determinística de chaves
- implementa normalização e persistência de keywords no Go
- adiciona suporte a armazenamento de keywords via Redis
- adiciona loader JSON para keywords padrão
- cria pacote keywords com separação entre store/defaults/normalize
- remove responsabilidade de scraping do backend Node.js
- transforma backend Node.js em camada de API/auth/adapters
- mantém compatibilidade com frontend usando adapter pattern
- mantém endpoints de keywords no Node delegando persistência ao Go
- melhora separação entre API de negócio e engine de scraping
- melhora escalabilidade para scraping concorrente
- melhora limites arquiteturais entre backend e scraper
- reduz responsabilidade de processamento e memória do Node.js
- prepara infraestrutura para escalar scrapers distribuídos
- reorganiza módulos internos do scraper-go:
  - adapters
  - cache
  - dedup
  - inflight
  - keywords
  - pipeline
- adiciona sistema de registry para adapters
- melhora integração Docker do serviço scraper-go
- padroniza logs e relatórios de execução
- remove responsabilidades obsoletas de cache do backend Node
- simplifica responsabilidades do backend para:
  - autenticação
  - módulos de usuário/domínio
  - gateway de API
  - integração com frontend
  - swagger/documentação

Evolução arquitetural:
o backend Node.js agora atua como camada de aplicação/API,
enquanto o Go se tornou a engine dedicada de scraping de alta performance."
* Implementado fluxo completo de autenticação OAuth para Google e GitHub
* Adicionado gerenciamento seguro de `state` utilizando `iron-session`
* Implementada validação de `state` no callback OAuth para proteção contra CSRF
* Corrigido fluxo do Google OAuth utilizando `openid-client`
* Adicionado suporte ao `authorizationCodeGrant` com callback URL dinâmica
* Implementado envio da URL completa de callback (`callbackUrl`) para providers OpenID
* Refatorada arquitetura dos providers OAuth para padronização de interfaces
* Criado tipo `ExchangeCodeParams` para desacoplamento entre controller/service/providers
* Removido uso de `any` dos providers OAuth
* Melhorada tipagem do fluxo de autenticação com Zod + TypeScript
* Adicionados logs detalhados para debug do fluxo OAuth
* Implementado suporte a múltiplos providers (`github`, `google`, `linkedin`)
* Ajustado fluxo de criação/busca de usuário autenticado
* Corrigidos problemas de incompatibilidade de tipos entre providers e AuthService
* Estruturado fluxo para futura expansão de login social multi-provider
Copilot AI review requested due to automatic review settings May 19, 2026 22:35
@vercel

vercel Bot commented May 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
painel-vagas Ready Ready Preview, Comment May 23, 2026 2:03pm

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

…mento de vagas salvas

- adiciona middleware de sessão com persistência de autenticação no backend
- implementa middleware requireAuth para proteção de rotas autenticadas
- adiciona middleware centralizado para:
  - CORS
  - headers de segurança
  - tratamento global de erros
  - injeção de sessão na request
- cria módulo de autenticação por credenciais:
  - credentials.controller
  - credentials.service
  - provider credentials
- adiciona schema credentials no banco para autenticação local
- implementa hash e validação segura de senha
- adiciona suporte a sessões autenticadas via cookies HTTP-only
- cria abstração lib/session para leitura e gerenciamento da sessão do usuário
- adiciona módulo de saved jobs:
  - savedJobs.controller
  - savedJobs.service
- implementa persistência de vagas favoritadas/salvas por usuário
- adiciona relacionamento de vagas salvas com usuários autenticados
- adiciona modelagem userPreferences para preferências do usuário
- expande tipagens compartilhadas:
  - credentials.types
  - atualização de auth.types
- adiciona schemas Zod para validação de usuários
- reorganiza estrutura de rotas separando:
  - auth.routes
  - users.routes
  - savedJobs.routes
  - jobs.routes
  - keywords.routes
- refatora bootstrap da aplicação para suportar nova pipeline de middlewares
- prepara backend para integração com frontend SSR utilizando autenticação baseada em cookies
Adiciona suites de testes unitários para módulos sem cobertura:

- pagination: testa parsePagination (clamp, valores inválidos, padrões)
  e paginate (paginação, bordas, lista vazia)
- generateUsername: testa normalização, fallbacks, conflitos no banco
  e sufixos incrementais até o limite de 20 tentativas
- kwsync: testa publish e publishBatch (serialização, source padrão,
  silenciamento de erros, batch atômico)
- findUsers: testa findUserByProvider e findUserByEmail com tx explícito
  e db padrão

Corrige testes existentes em app.test.ts e users.functions.test.ts:
adequa contratos às rotas reais (Valkey, Drizzle, kwsync), corrige
mock parcial dinâmico de createUser/createAccount via mockReset e
ajusta mock de withSession para injetar sessão válida nos testes de
integração das rotas.
Copilot AI review requested due to automatic review settings May 23, 2026 14:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

@Benevanio Benevanio merged commit 1426541 into master May 23, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in JobAtlas – Kanban May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants