Skip to content

Pav 74 repensar geracao keywords scraper (#223) - #224

Merged
hltav merged 7 commits into
masterfrom
develop
Aug 18, 2026
Merged

Pav 74 repensar geracao keywords scraper (#223)#224
hltav merged 7 commits into
masterfrom
develop

Conversation

@hltav

@hltav hltav commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Resumo

Fecha a PAV-74 repensando a geração de keywords do scraper após o fim do fluxo de submissão de keywords por usuário.

O que foi feito

  • Adicionado gerador de keywords no scraper Go, combinando cargo + tecnologia por categoria compatível.
  • Criado generator.json separado de keywords.json para versionar a matriz de títulos, tecnologias e categorias.
  • Mantido fallback interno no Go caso generator.json não esteja disponível.
  • Aplicado GenerateSearchKeywords no carregamento padrão, store, scrape e cache key.
  • Desabilitado o fluxo de submissão de keywords por usuário com KWSYNC_ENABLED=false.
  • POST /keywords agora retorna 403 quando o kwsync está desligado.
  • GET /keywords permanece ativo.
  • publish e publishBatch não publicam no Valkey quando KWSYNC_ENABLED=false.
  • Consumer Go do kwsync não inicia quando a flag está desligada.
  • Documentada a flag em .env.example e backend/.env.example.
  • Adicionados/atualizados testes de backend e scraper.

Validação

  • npm test --workspace=backend
  • go test ./... dentro de scraper-go
  • git diff --check

hltav and others added 7 commits August 16, 2026 10:35
Signed-off-by: Hudson Lima Tavares <109999011+hltav@users.noreply.github.com>
…222)

## Card

- [PAV-89](https://linear.app/tatame/issue/PAV-89/backend)

## O que foi feito

- Adicionada a tabela `application_events` com vínculo ao usuário e à
vaga salva.
- Adicionadas migrations e snapshots do Drizzle.
- Implementado registro de mudança de status na mesma transação da
atualização da vaga.
- Evitada a criação de eventos quando o status não muda.
- Adicionado bloqueio da linha durante a atualização para evitar
inconsistências concorrentes.
- Adicionado o endpoint `GET /saved-jobs/:id/events`.
- Eventos retornados em ordem cronológica.
- Garantido isolamento por usuário autenticado.
- Adicionados testes de service, controller e rota.

## Validação
- `npm run validate`  passou.
- `npm run test:coverage --workspace=backend` passou.
- 561 testes do backend passaram.
- Cobertura do backend:
  - Statements: 91,34%
  - Branches: 81,13%
  - Functions: 92,29%
  - Lines: 92,47%
- Fluxo validado manualmente:
  - mudança de status cria evento;
  - repetição do mesmo status não cria duplicata;
  - alteração sem mudança de status não cria evento;
  - timeline retorna eventos em ordem cronológica;
  - usuário não acessa eventos de outra conta.
## Resumo

Fecha a PAV-74 repensando a geração de keywords do scraper após o fim do
fluxo de submissão de keywords por usuário.

## O que foi feito

- Adicionado gerador de keywords no scraper Go, combinando cargo +
tecnologia por categoria compatível.
- Criado `generator.json` separado de `keywords.json` para versionar a
matriz de títulos, tecnologias e categorias.
- Mantido fallback interno no Go caso `generator.json` não esteja
disponível.
- Aplicado `GenerateSearchKeywords` no carregamento padrão, store,
scrape e cache key.
- Desabilitado o fluxo de submissão de keywords por usuário com
`KWSYNC_ENABLED=false`.
- `POST /keywords` agora retorna `403` quando o kwsync está desligado.
- `GET /keywords` permanece ativo.
- `publish` e `publishBatch` não publicam no Valkey quando
`KWSYNC_ENABLED=false`.
- Consumer Go do `kwsync` não inicia quando a flag está desligada.
- Documentada a flag em `.env.example` e `backend/.env.example`.
- Adicionados/atualizados testes de backend e scraper.

## Validação

- `npm test --workspace=backend`
- `go test ./...` dentro de `scraper-go`
- `git diff --check`
@hltav
hltav merged commit b67b85f into master Aug 18, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in JobAtlas – Kanban Aug 18, 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.

2 participants