Commit graph

55 commits

Author SHA1 Message Date
root
6ae4f01f5c docs(tasks): Mark video interviews as postponed
Some checks are pending
Deploy Backend and Backoffice Dev / build-and-push (push) Waiting to run
Deploy Backend and Backoffice Dev / deploy (push) Blocked by required conditions
Record the product decision to keep the video interviews endpoint out of scope for now.\nThis keeps the sprint backlog aligned with current priorities on dev.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 20:49:09 +01:00
root
e1c61289af feat(config): Add MCP JSON bootstrap and unify docs
Enable backend fallback to MCP JSON for database connection when DATABASE_URL is absent.\nAdd credentials bootstrap support from JSON for cloud/external services.\n\nConsolidate documentation with MCP integration guide and unified status.\nUpdate backlog to move video interviews endpoint out of current sprint.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 20:39:16 +01:00
GoHorse Deploy
cedca43851 docs: detalha gestão de credenciais via banco de dados 2026-03-07 18:15:09 -03:00
GoHorse Deploy
a754b4eba8 chore: remove scraper/email-legacy e organiza documentação em docs/context 2026-03-07 17:39:23 -03:00
Tiago Yamamoto
fd9af24e22 docs: update documentation with new features and security analysis
- Add BACKEND_SECURITY.md with security analysis and hardening guide
- Add FRONTEND_TESTING_STRATEGY.md with test coverage strategy
- Update API.md with new endpoints (candidates, tickets, credentials)
- Update AGENTS.md documentation index
2026-02-25 05:51:06 -06:00
Tiago Yamamoto
222006fb6b docs: rewrite TEST_USERS.md with current credentials and bug post-mortems
- Correct all passwords (were wrong/outdated)
- Add full table of current seeded users (superadmin, admins, candidates)
- Document 3 bugs fixed 2026-02-24:
  - superadmin placeholder hash (seeder fix)
  - users.status VARCHAR(20) crash loop (migration fix)
  - PASSWORD_PEPPER alignment requirement
- Add bash ! expansion gotcha for curl testing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 05:55:10 -06:00
Tiago Yamamoto
028d26d2e6 docs: overhaul global documentation with diagrams, test scenarios, and agent directives 2026-02-23 21:16:04 -06:00
Tiago Yamamoto
4a096ff903 docs: add comprehensive frontend testing strategy
- Add test coverage strategy for Next.js 15 App Router
- Document Server vs Client Components testing approach
- Include MSW mock strategy for API testing
- Add edge cases often forgotten (auth, forms, pagination, uploads)
- Provide templates for unit, integration, and E2E tests
- Include Zustand store testing patterns
2026-02-23 21:13:04 -06:00
Tiago Yamamoto
fe731e83c6 feat: implement rotating background hero on companies page 2026-02-23 21:00:01 -06:00
Tiago Yamamoto
754acd9d3c feat: merge backoffice into settings and add CRUD for credentials
- Move backoffice functionality into settings page as new tab
- Remove standalone backoffice page and sidebar link
- Add edit/delete buttons for credentials management
- Update credentials service to allow overwriting existing credentials
- Add API documentation for system credentials endpoints
2026-02-23 12:42:06 -06:00
Tiago Yamamoto
89358acc13 refactor(auth): remove hash hardcoded da migration, seeder gera em runtime
Antes: 010_seed_super_admin.sql tinha hash bcrypt fixo amarrado a um pepper
específico. Qualquer mudança no PASSWORD_PEPPER quebrava todos os logins
silenciosamente após reset do banco.

Agora:
- migration 010: insere superadmin com placeholder inválido + force_change_password.
  ON CONFLICT DO NOTHING preserva o hash se o seeder já rodou.
- seeder users.js: faz upsert de 'lol' com bcrypt(senha + env.PASSWORD_PEPPER)
  em runtime. Mudar o pepper e re-rodar o seeder é suficiente para atualizar
  as credenciais sem tocar em nenhuma migration.
- docs/AGENTS.md: atualiza gotcha #1 explicando o novo fluxo migrate → seed
- docs/DEVOPS.md: fix opção 1 do troubleshooting inclui re-deploy do seeder

Fluxo correto após reset do banco (coberto pelo start.sh opções 2, 6, 8):
  npm run migrate  →  superadmin criado, hash = placeholder
  npm run seed     →  hash recalculado com PEPPER do ambiente, status = active

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:05:54 -06:00
Tiago Yamamoto
fcf960381c fix(auth): corrige hash seed e documenta alinhamento do PASSWORD_PEPPER
- Atualiza hash hardcoded em 010_seed_super_admin.sql para hash válido
  gerado com pepper=gohorse-pepper (o antigo hash estava inválido e causava
  AUTH_INVALID_CREDENTIALS em qualquer reset do banco)
- Corrige valor de PASSWORD_PEPPER e CORS_ORIGINS no DEVOPS.md para
  refletir os valores reais do Coolify DEV
- Adiciona seção de troubleshooting no DEVOPS.md com diagnóstico e fix
  passo-a-passo para mismatch de pepper
- Adiciona seção "Known Gotchas" no AGENTS.md documentando:
  * Regra do PASSWORD_PEPPER (deve ser gohorse-pepper em todos ambientes)
  * Campo de login é email no DTO, não identifier
  * Hashes bcrypt em SQL devem usar arquivo -f, nunca -c ($ é expandido)
  * Credenciais de teste do ambiente DEV

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 11:43:35 -06:00
Tiago Yamamoto
dda447e4b6 docs: unify test users in root README and update superadmin to lol login 2026-02-21 14:48:25 -06:00
Tiago Yamamoto
d7b03dad19 docs: add AI context rules and missing READMEs 2026-02-21 13:33:36 -06:00
Tiago Yamamoto
3ac65ce38b fix(ci): correct KUBECONFIG secret name in Forgejo deploy workflow
- Fix secrets.KUBE_CONFIG → secrets.KUBECONFIG (matching actual secret name)
- Update DEVOPS.md with dual pipeline architecture (GitHub→Coolify + Forgejo→K3s)
- Document Forgejo Actions secrets and variables

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:05:03 -06:00
Tiago Yamamoto
e238da0649 docs: add CI/CD pipeline details, credentials reference, and webhook config
- Document Forgejo Actions pipeline (build-and-push OK, deploy FAIL due to K3s)
- Add credentials/tokens reference table (~/.ssh/ files)
- Document GitHub webhooks for Coolify auto-deploy
- Update CI/CD flow diagram with Forgejo Actions runner

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:00:36 -06:00
Tiago Yamamoto
9fd5cf5895 docs: update infra diagrams, add test users, fix Coolify URL
- Add full infrastructure Mermaid diagrams (Redbull + Apolo + CI/CD flow)
- Create TEST_USERS.md with all seeder credentials organized by role
- Fix Coolify URL from IP to https://redbull.rede5.com.br
- Update Coolify resources with current domains and status
- Add TEST_USERS.md reference to AGENTS.md, README.md, and doc index
- Update deployment section with both DEV environments

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 06:22:56 -06:00
Tiago Yamamoto
8fbb54c977 refactor job posting routes and add dashboard job creation page 2026-02-17 09:42:31 -03:00
Tiago Yamamoto
77c8a86a0b docs: add Coolify API reference and update DNS records 2026-02-16 20:42:45 -06:00
Tiago Yamamoto
2e632a630b docs: add Cloudflare zone info and DNS management agent 2026-02-16 20:33:20 -06:00
Tiago Yamamoto
15b462b143 test: increase backend use case coverage 2026-02-16 23:25:26 -03:00
Tiago Yamamoto
11e0deef2a fix: resolve build errors for Coolify deployment
- Frontend: Remove duplicate useState import in applications page
- Backoffice: Install devDependencies during build for nest CLI
- Seeder: Fix healthcheck port to match app port (8080)
- Add Coolify CI/CD workflow for automatic deployment on push to dev
- Update DEVOPS.md with Coolify environment documentation
2026-02-16 08:42:29 -06:00
Tiago Yamamoto
6ec54460f8 docs: unify documentation structure
- Create docs/AGENTS.md for AI assistants context
- Create docs/WORKFLOWS.md consolidating deployment workflows
- Remove redundant docs/root/ folder
- Remove .agent/ folder (consolidated into docs/)
- Update dates in all documentation files
- Simplify README.md documentation section
2026-02-16 05:57:02 -06:00
GoHorse Deploy
2168f96bf6 docs: remove forgejo SSH remote, keep only HTTPS (pipe) 2026-02-15 14:23:59 +00:00
GoHorse Deploy
f7c9ac5a0b docs: add git workflow - GitHub as origin, Forgejo as mirror 2026-02-15 14:22:58 +00:00
Tiago Yamamoto
49d761cad8 feat: unificar campos de register job em publicar vaga 2026-02-14 20:33:54 -03:00
Tiago Yamamoto
b56c601796 chore: keep agent and module docs in original locations 2026-02-14 20:22:27 -03:00
Tiago Yamamoto
38cb598e43 docs: add codex fast-track execution plan for careerjet gaps 2026-02-14 17:37:54 -03:00
Tiago Yamamoto
66c35ac6c5 feat(post-job): advance billing and payment flow parity 2026-02-14 17:30:37 -03:00
Tiago Yamamoto
01e7a3b920 feat(post-job): add preview and billing step to publish flow 2026-02-14 17:21:52 -03:00
Tiago Yamamoto
68e7db5e40 feat(post-job): add careerjet-style publication fields and validations 2026-02-14 17:14:15 -03:00
Tiago Yamamoto
b9961d083b docs: unifica documentação e atualiza README principal 2026-02-14 17:07:11 -03:00
GoHorse Deploy
ae475e41a9 feat: implement careerjet gap analysis improvements
- Video Interview system (backend + frontend)
- Date Posted filter (24h, 7d, 30d)
- Company filter in jobs listing
- Recent searches persistence (LocalStorage)
- Job Alerts with email confirmation
- Favorite jobs with API
- Company followers system
- Careerjet URL compatibility (s/l aliases)
2026-02-14 19:37:25 +00:00
Tiago Yamamoto
588a1ad632 docs: expandir checklist de publicação de vagas no padrão Careerjet 2026-02-14 15:19:32 -03:00
Tiago Yamamoto
b166ff440a Add Careerjet-compatible job search params and gap analysis 2026-02-14 15:12:04 -03:00
NANDO9322
ddc2f5dd03 feat: atualiza fluxo de cadastro de candidatos com persistência completa de dados e máscara de telefone
Frontend:
- Implementar máscara de entrada de telefone para números BR ((XX) XXXXX-XXXX).
- Atualizar formulário de cadastro para enviar dados completos do perfil do candidato (endereço, formação, habilidades, etc.).
- Corrigir problemas de idioma misto na página de Detalhes da Vaga e adicionar traduções faltantes.

Backend:
- Atualizar modelo de Usuário, Entidade e DTOs para incluir campos de perfil (Data de Nascimento, Endereço, Formação, etc.).
- Atualizar UserRepository para persistir e recuperar os dados estendidos do usuário no PostgreSQL.
- Atualizar RegisterCandidateUseCase para mapear campos de entrada para a entidade Usuário.
2026-01-06 18:19:47 -03:00
Yamamoto
e59e15dd35 fix(seeder): use fully qualified table names for location seeding
docs: update DATABASE.md and DEVOPS.md for local environment setup
2026-01-03 16:55:45 -03:00
Yamamoto
31fadc1b11 feat(auth): migrate sessionStorage to localStorage and add refreshSession()
- Replace sessionStorage with localStorage for user data persistence
- Add refreshSession() function to restore session from HTTPOnly cookie via /users/me
- Update tests to use localStorage mocks
- Add 3 new tests for refreshSession() functionality
- Update superadmin credentials in README.md and DEVOPS.md
2026-01-03 09:33:55 -03:00
Tiago Yamamoto
ef713dab84 Move docs txt reports into folder 2026-01-02 09:24:21 -03:00
Tiago Yamamoto
6cd8c02252 feat: add test coverage and handler improvements
- Add new test files for handlers (storage, payment, settings)
- Add new test files for services (chat, email, storage, settings, admin)
- Add integration tests for services
- Update handler implementations with bug fixes
- Add coverage reports and test documentation
2026-01-02 08:50:29 -03:00
Tiago Yamamoto
1e830c513d docs: add full coverage and system report 2026-01-01 14:49:22 -03:00
Tiago Yamamoto
0b4a31faae chore: add comprehensive test report 2026-01-01 14:39:41 -03:00
Tiago Yamamoto
69534f5810 docs: update roadmap and add admin handler tests 2025-12-28 03:04:18 -03:00
Tiago Yamamoto
c61022a277 docs: update ER diagram with all tables 2025-12-28 02:39:03 -03:00
Tiago Yamamoto
83e16d78f6 docs: update roadmap with intense marketplace gap analysis 2025-12-27 23:15:46 -03:00
Tiago Yamamoto
32fc42a29c docs: Update all documentation files (API_SECURITY, ROADMAP, TASKS, DEVOPS, DATABASE, API)
- Updated dates to 2024-12-26
- Added new features: Email System, Avatar Upload, Public Job Posting
- Updated security routes and access levels
- Updated infrastructure and secrets documentation
- Marked completed tasks in ROADMAP and TASKS
2025-12-26 12:45:03 -03:00
Tiago Yamamoto
841b1d780c feat: Email System, Avatar Upload, Email Templates UI, and Public Job Posting
- Backend: Email producer (LavinMQ), EmailService interface
- Backend: CRUD API for email_templates and email_settings
- Backend: avatar_url field in users table + UpdateMyProfile support
- Backend: StorageService for pre-signed URLs
- NestJS: Email consumer with Nodemailer and Handlebars
- Frontend: Email Templates admin pages (list/edit)
- Frontend: Updated profileApi.uploadAvatar with pre-signed URL flow
- Frontend: New /post-job public page (company registration + job creation wizard)
- Migrations: 027_create_email_system.sql, 028_add_avatar_url_to_users.sql
2025-12-26 12:21:34 -03:00
Tiago Yamamoto
c1078563df refactor(roles): rename companyAdmin->admin and jobSeeker->candidate 2025-12-24 13:30:50 -03:00
Tiago Yamamoto
1b4f1d1555 refactor: migrate core tables to UUID v7 and update roadmap 2025-12-24 12:30:49 -03:00
Tiago Yamamoto
7f30a214f7 docs: add API documentation with routes and permissions
- Create docs/API.md with complete API reference
  - 40+ routes documented
  - Permission matrix by role
  - Module breakdown (Auth, Users, Jobs, Applications, etc.)
  - Error response examples
  - ID format documentation

- Fix seeders to use SERIAL (not UUID) for jobs.id
  - jobs.js: let DB auto-generate id
  - acme.js, fictional-companies.js, epic-companies.js: same fix

- Update README.md with API documentation link
2025-12-24 11:25:55 -03:00