Commit graph

20 commits

Author SHA1 Message Date
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
2e7da0b28e feat: add backoffice credentials page and backend support 2025-12-31 16:13:27 -03:00
Tiago Yamamoto
b1639dbcd8 Implement secure Stripe credential management using RSA encryption 2025-12-26 11:03:52 -03:00
Tiago Yamamoto
3fa875ed98 feat: implemented delete application endpoint and dashboard action 2025-12-26 01:29:31 -03:00
Tiago Yamamoto
930c57a9c7 debug(backend): add console logging to job creation endpoint
- Added debug logging to job_handler.go CreateJob
- Added debug logging to job_service.go CreateJob
- Tracks request data, userID extraction, SQL execution, and errors
2025-12-25 22:34:24 -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
38a94bcbce feat: implement high priority features
1. Advanced Search (backend)
   - Add salaryMin, salaryMax, currency, sortBy to JobFilterQuery
   - Add 5+ filters: visa, salary range, currency, language level
   - Add 4 sort options: recent, salary_asc, salary_desc, relevance

2. Email Service (backend)
   - Create Resend API integration (email_service.go)
   - 3 HTML email templates: welcome, password_reset, application_received
   - Add RESEND_API_KEY, EMAIL_FROM, APP_URL env vars

3. i18n (frontend)
   - Create 4 language files: pt-BR, en-US, es-ES, ja-JP
   - 100+ translation keys per language
   - Covers: common, nav, auth, jobs, profile, company, footer

4. Stripe Integration (backend)
   - Create payment_handler.go with checkout session creation
   - Webhook handler with signature verification
   - Support for checkout.session.completed, payment_intent events
2025-12-24 11:40:53 -03:00
Tiago Yamamoto
568b4ebb88 refactor: clean up legacy UUID v4, use UUID v7 everywhere
Migrations:
- 016, 017, 019: Replace gen_random_uuid() with uuid_generate_v7()
- All UUID tables now use custom uuid_generate_v7() function

Backend:
- Create internal/utils/uuid/uuid.go with V7() function (RFC 9562)
- Update storage_handler.go to use internal uuid.V7()
- Remove dependency on google/uuid for file naming

All new UUIDs in the system are now UUID v7 (time-ordered)
2025-12-24 11:29:55 -03:00
Tiago Yamamoto
02f35b46b6 feat: implement dynamic dashboard, auth hardening (pepper/httponly) and backend tests 2025-12-24 01:30:33 -03:00
Tiago Yamamoto
0e265e64b8 Refactor backend to use string IDs for Job, Company, and Application 2025-12-23 14:46:17 -03:00
Tiago Yamamoto
b09bd023ed feat: security refactor, server-side pagination, and docs update
- impl(frontend): server-side pagination for jobs listing
- impl(frontend): standardized api error handling and sonner integration
- test(frontend): added unit tests for JobCard
- impl(backend): added SanitizeMiddleware for XSS protection
- test(backend): added table-driven tests for JobService
- docs: updated READMES, created ROADMAP.md and DATABASE.md
- fix(routing): redirected landing page buttons to /jobs
2025-12-23 00:50:51 -03:00
Tiago Yamamoto
d369835999 fix(docs): update swagger annotations with /api/v1 prefix 2025-12-15 13:46:51 -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
7d5c6cc1d4 Remove unused models import 2025-12-14 17:16:29 -03:00
Tiago Yamamoto
bff8012291 Add swagger docs for applications and storage 2025-12-14 17:10:42 -03:00
Tiago Yamamoto
65eca07c8f Expose job endpoints in Swagger docs 2025-12-14 16:40:29 -03:00
Tiago Yamamoto
9b4601f1d8 feat: implement dynamic featured jobs
- Add is_featured column to jobs table (migration)
- Update Job model and Service to support featured jobs
- Update JobHandler to expose featured jobs API
- Support filtering by featured status in GET /jobs
- Frontend: Fetch and display featured jobs from API
- Frontend: Update Job type definition
2025-12-14 15:43:43 -03:00
Tiago Yamamoto
a4abcf8e05 feat: SEO optimization and dynamic jobs API integration
Backend:
- Add Swagger annotations to all job handlers (GET, POST, PUT, DELETE)
- Clean up job handler code

Frontend:
- Expand api.ts with ApiJob types, pagination, and transform function
- Update footer with 'Vagas por Tecnologia' SEO links
- Add robots.txt with crawler directives
- Add sitemap.xml with main pages and job URLs
- Change branding to GoHorse Jobs
2025-12-14 09:16:44 -03:00
Tiago Yamamoto
ce6e35aefd feat(backend): implement S3 object storage with pre-signed URLs
- Add s3_storage.go service using AWS SDK v2
- Support custom S3-compatible endpoints (Civo)
- Implement pre-signed URL generation for uploads/downloads
- Add storage_handler.go with REST endpoints
- Register protected storage routes in router
- Graceful degradation when S3 not configured
2025-12-11 14:41:25 -03:00
Tiago Yamamoto
1c7ef95c1a first commit 2025-12-09 19:04:48 -03:00