Conversation
- 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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Aprimorando tempos de resposta