Commit graph

184 commits

Author SHA1 Message Date
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
NANDO9322
1f9b54d719 fix: resolve problemas de cadastro, seletor de localização e swagger
- Corrige violação de restrição de role no Registro de Candidato (usa 'candidate' em minúsculo)
- Corrige erro de chave duplicada para slug da empresa adicionando timestamp ao workspace do candidato
- Corrige crash no LocationPicker tratando respostas nulas no frontend e retornando arrays vazios no backend
- Corrige documentação do Swagger para o endpoint de Login e adiciona definição de segurança BearerAuth
2026-01-05 13:30:02 -03:00
Yamamoto
1b9bd81687 feat(tickets): add pagination, skeleton loading, create modal, i18n support 2026-01-05 11:26:45 -03:00
Tiago Yamamoto
b1107864b5 Add payment gateway configs and lock credentials 2026-01-03 20:28:21 -03:00
Tiago Yamamoto
aeb57f325a Fix profile updates, avatar upload, and settings 2026-01-03 20:21:29 -03:00
Tiago Yamamoto
ce26de6225 Fix locale sync for post job and candidates 2026-01-03 19:57:09 -03:00
Tiago Yamamoto
f6c10e5332 Remove user ID from admin tickets table 2026-01-03 19:37:23 -03:00
Tiago Yamamoto
762df003fd Localize home post job button 2026-01-03 18:42:09 -03:00
Yamamoto
08efbe4f2b feat(frontend): improve login error handling and user avatar
- Implemented more specific error messages for the login page, distinguishing between invalid credentials and server errors.
- Updated i18n files with new translations for login error messages.
- Improved the avatar fallback to use the user's email initials if their name is not available.
- Removed frontend-source.tar.gz from tracking.
- Chore: Added debug logs to the seeder-api location loader.
2026-01-03 18:28:12 -03:00
Yamamoto
c9fbcc22bb fix(i18n): add missing settings and seeder translations to all locales 2026-01-03 15:22:46 -03:00
Yamamoto
5155fa853d fix: Auth URL race, Seeder Reset 500, and UI confirmation modal
- auth.ts: await initConfig() before refreshSession to fix localhost fallback
- server.js: optional chaining req.body?.password for reset endpoint
- seeder/page.tsx: replace confirm() with elegant AlertDialog for reset
2026-01-03 14:21:29 -03:00
Yamamoto
621e4594c6 fix: resolve seeder connection, backoffice scroll and auth session refresh 2026-01-03 12:11:38 -03:00
Yamamoto
928997c9ce feat: enhance seeder ui, add logging stream and fix translations 2026-01-03 11:46:35 -03:00
Yamamoto
c8d4ff2726 fix: resolve migration 032 column size, update credentials, silence auth logs 2026-01-03 11:04:56 -03:00
Yamamoto
655f779b11 feat(dashboard): add seeder page for database seed/reset
- Add /dashboard/seeder page with Seed and Reset buttons
- Add Seeder item to sidebar (superadmin only)
- Use seeder API endpoints POST /seed and POST /reset
- Add confirmation dialogs for destructive actions
2026-01-03 10:16:34 -03:00
Yamamoto
0238195723 fix(auth): suppress SSR warning during build + add deploy docs to FRONTEND.md
- Move 'No user found in storage' log inside window check to avoid SSR logs
- Add CI/CD deploy section with Forgejo pipeline instructions
- Update documentation date
2026-01-03 09:46:38 -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
Yamamoto
340aa9665e docs: update FRONTEND.md with podman instructions 2026-01-02 19:11:02 -03:00
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
93ca6d64ef feat(tests): fix candidate dashboard and apply form tests 2026-01-01 11:56:00 -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
d79fa8e97a feat: increase test coverage backend/frontend and setup e2e 2026-01-01 10:54:58 -03:00
Tiago Yamamoto
18727f8c99 fix(frontend): remove duplicate credential handler functions in settings page 2025-12-31 17:21:54 -03:00
Tiago Yamamoto
895974878d refactor: move credentials to settings page and update sidebar 2025-12-31 16:44:29 -03:00
Tiago Yamamoto
c26ad578b9 feat: migrate credentials management to backoffice nestjs 2025-12-31 16:25:32 -03:00
Tiago Yamamoto
2e7da0b28e feat: add backoffice credentials page and backend support 2025-12-31 16:13:27 -03:00
Tiago Yamamoto
e637117f40 feat(security): migrate auth to httpOnly cookies - Frontend: remove localStorage tokens, use sessionStorage for user data, add credentials include - Backend: add logout endpoint to clear cookie 2025-12-31 15:16:45 -03:00
Tiago Yamamoto
54a77382b7 chore: remove legacy language store (cleanup i18n) 2025-12-31 14:07:51 -03:00
Tiago Yamamoto
c1ab5004bf chore: trigger frontend deploy 2025-12-31 13:39:35 -03:00
Tiago Yamamoto
33e7bbb334 feat(i18n): internationalize sidebar and dashboards 2025-12-31 13:20:04 -03:00
Tiago Yamamoto
3e81ae40e7 fix(frontend): add version marker (v2) to debug deployment 2025-12-31 12:08:32 -03:00
Tiago Yamamoto
3cb1db81c0 feat(frontend): i18n for admin users page 2025-12-31 11:47:15 -03:00
Tiago Yamamoto
e845ba63c8 fix(frontend): language switcher focus styles and debug logs 2025-12-31 10:35:51 -03:00
Tiago Yamamoto
798031420e fix(frontend): language switcher cursor and persistence logic 2025-12-31 10:27:33 -03:00
Tiago Yamamoto
8dbcd01336 fix(frontend): use correct language switcher in dashboard header 2025-12-31 10:16:03 -03:00
Tiago Yamamoto
5f5afbaf43 fix(frontend): robust runtime config loading in api layer 2025-12-31 10:06:11 -03:00
Tiago Yamamoto
1eb3da814d fix(frontend): block access until runtime config is loaded 2025-12-31 09:56:01 -03:00
Tiago Yamamoto
e1bbd94224 fix(frontend): usage of runtime config in HomePage 2025-12-31 09:42:07 -03:00
Tiago Yamamoto
4577310c75 feat(frontend): use runtime env vars for config endpoint
Changed /api/config to read API_URL (without NEXT_PUBLIC_ prefix)
which allows runtime configuration without rebuilding the image.

Priority order:
1. API_URL (runtime env var)
2. NEXT_PUBLIC_API_URL (build-time fallback)
3. Default localhost values
2025-12-31 09:39:02 -03:00
Tiago Yamamoto
0da936550b feat(frontend): add runtime config for environment variables
- Add /api/config endpoint for runtime env var fetching
- Add config.ts service with sync getters (getApiUrl, getBackofficeUrl, etc.)
- Add ConfigContext for React components
- Update api.ts, auth.ts, storage.ts to use runtime config
- Update layout.tsx to wrap app with ConfigProvider
- Fix Dockerfile default port from 8080 to 8521

This allows the frontend to read environment variables at runtime
instead of baking them in during build time.
2025-12-31 08:48:32 -03:00
Tiago Yamamoto
1058b7005f chore: update deploy workflow and frontend Dockerfile 2025-12-28 23:28:44 -03:00
Tiago Yamamoto
a9d6ac0305 perf(docker): migrate frontend to pnpm + optimize dockerignore
- Migrate from npm to pnpm for 2-3x faster installs
- Add BuildKit cache mount for pnpm store
- Auto-import package-lock.json to pnpm-lock.yaml
- Reduce NODE_OPTIONS memory to 512MB
- Add more exclusions to .dockerignore (cypress, e2e, tests)
- Cleanup caches in same layer to save disk
2025-12-28 11:20:33 -03:00
Tiago Yamamoto
cb31713307 fix(docker): update frontend Dockerfile for Podman compatibility
- Remove deprecated --only=production flag
- Add default value for NEXT_PUBLIC_API_URL build arg
- Add BuildKit cache mount for npm
- Remove HEALTHCHECK (not supported by Podman OCI format)
2025-12-28 11:02:05 -03:00
Tiago Yamamoto
a5bb7b2a31 feat: add backend tests to CI pipeline, improve responsive design, add unit tests
- Add test-backend job to .forgejo/workflows/deploy.yaml
- Fix JobService and TicketService tests
- Create ticket_service_test.go
- Create frontend unit tests (forgot-password, jobs/[id], dashboard/users)
- Improve responsiveness for users page, forgot-password, and apply page
2025-12-28 01:27:48 -03:00
Tiago Yamamoto
53d5b9822a fix: frontend build error in tickets page 2025-12-28 00:29:46 -03:00
Tiago Yamamoto
6a7759b039 refactor(frontend): replace mocks with real api integration in my-jobs 2025-12-27 23:40:35 -03:00
Tiago Yamamoto
a79743df33 feat(frontend): implement roadmap features - services link and boost job action 2025-12-27 23:25:16 -03:00
Tiago Yamamoto
e49485fe64 Update package-lock.json and finalize dev state 2025-12-27 21:56:50 -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
87aa558a61 fix: add null guards to messages page
- Guard against null response from chatApi.listConversations()
- Use fallback empty array for conversations state
- Prevents 'Cannot read properties of null' errors
2025-12-26 16:17:34 -03:00