Commit graph

24 commits

Author SHA1 Message Date
Yamamoto
3cd52accfb feat: infrastructure updates, storage verification, and superadmin reset
1. Auth: Implemented forced password reset for SuperAdmin and updated login logic.

2. Infra: Switched backend to internal Postgres and updated .drone.yml.

3. Storage: Added Test Connection endpoint and UI in Backoffice.

4. CI/CD: Updated Forgejo deploy pipeline to include Seeder and use Internal Registry.
2026-01-02 16:36:31 -03:00
Tiago Yamamoto
d79fa8e97a feat: increase test coverage backend/frontend and setup e2e 2026-01-01 10:54:58 -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
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
Tiago Yamamoto
722e72cdbd Implement FCM Token Management (DB, Backend, Frontend, Backoffice) 2025-12-26 10:41:50 -03:00
Tiago Yamamoto
e0b16e5b29 Fix profile 404/500 and user deletion 403 2025-12-26 09:55:19 -03:00
Tiago Yamamoto
43c0719664 feat(users): add company selection and status to create user modal 2025-12-26 01:18:14 -03:00
Tiago Yamamoto
6ab7e357fb fix(users): resolve 403 on update and enable role/status editing 2025-12-26 01:14:18 -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
bc7b8f53f4 fix(auth): make login status check case-insensitive 2025-12-24 14:53:29 -03:00
Tiago Yamamoto
7e0a58feb4 chore: add detailed debug logs for login flow 2025-12-24 14:26:09 -03:00
Tiago Yamamoto
c1078563df refactor(roles): rename companyAdmin->admin and jobSeeker->candidate 2025-12-24 13:30:50 -03:00
Tiago Yamamoto
7310627bee refactor: remove google/uuid from register_candidate.go
- IDs are now auto-generated by DB SERIAL columns
- No need to generate UUID in application code
- Let repository handle ID assignment from DB response
- Removed unused import
2025-12-24 11:31:57 -03:00
Tiago Yamamoto
7bb081f7c2 fix(backend): Resolve compilation error in update_user.go 2025-12-23 19:24:58 -03:00
Tiago Yamamoto
78ce341370 feat: Implement Ticket System, Profile Page integration, and fix migrations 2025-12-23 19:22:55 -03:00
Tiago Yamamoto
ce0531fefc feat: connect registration and jobs to real API
Backend fixes:
- Fix FK violation in candidate registration by creating company first
- Add CompanyRepository to RegisterCandidateUseCase
- Add handler integration tests for validation

Frontend improvements:
- Add registerCompany function in auth.ts
- Connect company registration form to backend API
- Replace mockJobs with API call in job detail page
- Add loading/error states to job detail page
- Add Jest tests for auth module
2025-12-23 08:19:49 -03:00
Tiago Yamamoto
743b2842c0 feat: Enhance platform with funny jobs, FAQ, Skeleton UI, and Tests 2025-12-22 23:48:56 -03:00
Tiago Yamamoto
1de5d31815 Fix user list pagination response type 2025-12-22 20:44:13 -03:00
Tiago Yamamoto
9c17a7a15a Add paginated users listing 2025-12-22 16:43:54 -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
28733fff95 feat(tests): �� added unit tests and E2E tests for handlers 2025-12-15 09:08:32 -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