Commit graph

14 commits

Author SHA1 Message Date
Tiago Yamamoto
8ee0d59a61 feat: fix seeder password hashing, add custom questions, navbar/footer on register, payment handler
- fix(seeder): add PASSWORD_PEPPER to all bcrypt hashes (admin + candidates/recruiters)
- fix(seeder): add created_by field to jobs INSERT (was causing NOT NULL violation)
- feat(backend): add custom job questions support in applications
- feat(backend): add payment handler and Stripe routes
- feat(frontend): add navbar and footer to /register and /register/user pages
- feat(frontend): add custom question answers to job apply page
- feat(frontend): update home page hero section and navbar buttons
- feat(frontend): update auth/api lib with new endpoints
- chore(db): add migration 045 for application answers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 20:26:49 -06:00
Tiago Yamamoto
3a26af3df5 fix: global document and phone handling — remove Brazil-specific formatting
Frontend (jobs/new):
- Replace isValidCNPJ (checksum algorithm) with isValidDocument: accepts
  any tax document with 5–30 alphanumeric chars (CNPJ, EIN, VAT, etc.)
- Add cleanPhone(): strips formatting chars (dashes, spaces, parens) and
  keeps only digits + optional leading '+'; replaces cleanDigits+prepend
- Phone sent as '+5511999998888' if user typed '+55...', or '11999998888'
  if no country code was provided — no '+' blindly prepended anymore
- Company document sent stripped of all non-alphanumeric before API call
- Update label placeholder from '00.000.000/0000-00' to 'CNPJ, EIN, VAT...'
- Rename error key invalidCnpj → invalidDocument in all 3 locales (pt, en, es)

Backend (create_company use case):
- Add SanitizePhone() to utils/sanitizer.go: strips all non-digit chars
  except a leading '+'; '(11) 99999-8888' → '11999998888'
- Apply SanitizePhone to input.Phone before persisting to DB

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:46:54 -06:00
Tiago Yamamoto
15b462b143 test: increase backend use case coverage 2026-02-16 23:25:26 -03:00
Tiago Yamamoto
4544a1d5b2 Align backend company registration and notification routes with frontend 2026-02-15 13:16:37 -03:00
GoHorse Deploy
eb1276eac4 fix: restore frontend dependencies and update environment 2026-02-14 17:19:53 +00:00
NANDO9322
c97aeacf3b Merge branch 'dev' 2026-01-17 18:23:41 -03:00
NANDO9322
9a1fca0c36 feat: (TASK: Mudança na forma de operar os usuarios)
refatoração fluxo de vagas e correção login automático
- Frontend:
  - Implementa componente JobFormBuilder para perguntas dinâmicas
  - Atualiza página /post-job com fluxo de 3 etapas e integração do builder
  - Corrige payload de registro (auth.ts) enviando campo password corretamente
  - Implementa auto-login após cadastro da empresa (redirecionamento e token)
  - Remove páginas obsoletas de registro de candidato
- Backend:
  - Atualiza CreateCompanyUseCase para retornar token JWT
  - Ajusta JobService para persistência correta de campos JSON (Questions, Benefits)
  - Atualiza DTOs de Job e Company para refletir novas estruturas
  - Adiciona migração (033) para novas colunas de refatoração
  - Ajustes nos repositórios para suporte aos novos modelos
Ref: #refactor-jobs #fix-auth
2026-01-17 17:07:35 -03:00
NANDO9322
ad558bc656 feat: melhorias na gestão de empresas e correções de persistência
- Backend: Correção na persistência do email da empresa (CreateCompanyUseCase) e suporte a exclusão em cascata (Cascade Delete) para evitar erro 500.
- Backend: Adicionado suporte completo para Phone, Website, Address, Description e Slug na criação.
- Backend: Correção crítica no JobService para ocultar nome de candidatos na listagem de vagas.
- Frontend: Adição da coluna 'Email' na listagem de empresas e padronização dos ícones de ação.
- Frontend: Inclusão de novas chaves de tradução (i18n) e melhorias no modal de criação.
2026-01-08 17:14:41 -03:00
Tiago Yamamoto
9d19751acb Resolve merge conflicts in backend, backoffice, and frontend 2025-12-27 21:45:48 -03:00
Tiago Yamamoto
9ee9f6855c feat: implementar múltiplas features
Backend:
- Password reset flow (forgot/reset endpoints, tokens table)
- Profile management (PUT /users/me, skills, experience, education)
- Tickets system (CRUD, messages, stats)
- Activity logs (list, stats)
- Document validator (CNPJ, CPF, EIN support)
- Input sanitizer (XSS prevention)
- Full-text search em vagas (plainto_tsquery)
- Filtros avançados (location, salary, workMode)
- Ordenação (date, salary, relevance)

Frontend:
- Forgot/Reset password pages
- Candidate profile edit page
- Sanitize utilities (sanitize.ts)

Backoffice:
- TicketsModule proxy
- ActivityLogsModule proxy
- Dockerfile otimizado (multi-stage, non-root, healthcheck)

Migrations:
- 013: Profile fields to users
- 014: Password reset tokens
- 015: Tickets table
- 016: Activity logs table
2025-12-27 11:19:47 -03:00
Tiago Yamamoto
9b389e1c9f fix(services): initialize all list slices to empty array to prevent null json response 2025-12-24 18:11:17 -03:00
Tiago Yamamoto
c9747d3596 fix(integration): correct frontend fallback port to 8521 and handle NULL fields in company entity 2025-12-15 10:19:31 -03:00
Tiago Yamamoto
a505726786 fix: refactor dashboard urls, fix layout duplication and resolve backend api errors 2025-12-09 20:29:49 -03:00
Tiago Yamamoto
1c7ef95c1a first commit 2025-12-09 19:04:48 -03:00