Commit graph

16 commits

Author SHA1 Message Date
Tiago Yamamoto
325a6efd71 Restaura fluxo Careerjet em 4 etapas no layout solicitado 2026-02-14 20:56:32 -03:00
Tiago Yamamoto
83ed28a1fe feat(post-job): avançar checklist com status pós-pagamento e comprovante 2026-02-14 17:35:18 -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
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
Tiago Yamamoto
ce26de6225 Fix locale sync for post job and candidates 2026-01-03 19:57:09 -03:00
Tiago Yamamoto
812affb803 feat(tests): implement unit tests for job post and application forms and fix dashboard tests 2026-01-01 11:15:32 -03:00
Tiago Yamamoto
8eeecf76d7 feat: admin tickets, dashboard i18n, user edit fix and location picker bugfix 2025-12-26 16:42:19 -03:00
Tiago Yamamoto
afab4e89cd refactor: merge company and job form into single step
- Reduced form from 3 steps to 2 steps
- Step 1 now contains both company and job data with visual separator
- Step 2 is confirmation only
- Updated progress indicators and card headers
- Fixed navigation button references
2025-12-26 15:53:15 -03:00
Tiago Yamamoto
249081554d feat: add company profile fields
Backend:
- Created migration 031 for employee_count and founded_year
- Updated Company model with EmployeeCount and FoundedYear
- Updated core DTO with website, employeeCount, foundedYear, description

Frontend:
- Added website input field to company form
- Added employee count dropdown (1-10, 11-50, etc.)
- Added founded year input
- Added 'About Company' rich text editor
- Updated API payload to send new fields
2025-12-26 15:48:13 -03:00
Tiago Yamamoto
cca951ca23 feat: add currency, salary period, and rich text description
Frontend:
- Added currency selector (BRL, USD, EUR, JPY, GBP, CNY, AED, CAD, AUD, CHF)
- Added salary period dropdown (hourly, daily, weekly, monthly, yearly)
- Created RichTextEditor component for job descriptions (Bold, Lists, Alignment)
- Updated confirmation step to display currency symbol and period label

Backend:
- JobService now persists currency in job creation
- Extended currency validation in DTOs

Seeder:
- Already includes currency in job insertion
2025-12-26 15:37:54 -03:00
Tiago Yamamoto
91e4417c95 feat: add working hours and salary negotiable logic
Backend:
- Updated DTOs to include SalaryNegotiable and WorkingHours
- Updated JobService to map and persist these fields (CREATE, GET, UPDATE)
- Ensure DB queries include new columns

Frontend:
- Added 'Working Hours' (Jornada de Trabalho) dropdown to PostJobPage
- Updated state and submit logic
- Improved salary display in confirmation step

Seeder:
- Updated jobs seeder to include salary_negotiable and valid working_hours
2025-12-26 15:29:51 -03:00
Tiago Yamamoto
d6bb579260 feat: add salary options with toggle and candidate proposal
Backend:
- Added migration 030_add_salary_negotiable.sql
- Added SalaryNegotiable field to Job model

Frontend:
- Updated PostJobPage with salary mode toggle (fixed/range)
- Added 'Candidato envia proposta' checkbox to hide salary
- Updated job submission logic and confirmation display
2025-12-26 15:23:22 -03:00
Tiago Yamamoto
fb79e987bb feat: add location selector and contract types
Backend:
- Created LocationHandler, LocationService, LocationRepository
- Added endpoints: GET /api/v1/locations/countries, states, cities, search
- Added migration 029_expand_employment_types.sql with new contract types (permanent, training, temporary, voluntary)
- Fixed .gitignore to allow internal/api folder

Frontend:
- Created LocationPicker component with country dropdown and city/state autocomplete search
- Integrated LocationPicker into PostJobPage
- Updated contract type options in job form (Permanent, Contract, Training, Temporary, Voluntary)
- Added locationsApi with search functionality to api.ts
2025-12-26 15:18:16 -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