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
722e72cdbd
Implement FCM Token Management (DB, Backend, Frontend, Backoffice)
2025-12-26 10:41:50 -03:00
Tiago Yamamoto
06ed927ef4
fix(services): initialize slices to empty array to prevent null json response
2025-12-24 17:52:13 -03:00
Tiago Yamamoto
bb970f4a74
fix(backend): resolve 500 errors on jobs, notifications and secure routes
...
- Fix CreateJob 500 error by extracting user ID correctly
- Secure Create/Update/Delete Job routes with AuthGuard
- Fix Notifications/Tickets/Profile 500 error (UUID vs Int mismatch)
- Add E2E test for CreateJob
2025-12-24 17:48:06 -03:00
Tiago Yamamoto
78ce341370
feat: Implement Ticket System, Profile Page integration, and fix migrations
2025-12-23 19:22:55 -03:00