Commit graph

193 commits

Author SHA1 Message Date
eycksilva
dd7086bf34 atualizacao geral de funcionalidades 2026-01-20 12:36:48 -03:00
eycksilva
ffa0203ec0 atualizacao layout 2026-01-19 15:58:33 -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
NANDO9322
8f331c97d3 feat(backoffice): Implementa gestão de credenciais e novas abas administrativas
BACKEND:
- Implementa [CredentialsHandler](cci:2://file:///C:/Projetos/gohorsejobs/backend/internal/api/handlers/credentials_handler.go:9:0-11:1) e rotas /api/v1/system/credentials para gestão segura de chaves.
- Adiciona criptografia RSA no [CredentialsService](cci:2://file:///C:/Projetos/gohorsejobs/backend/internal/services/credentials_service.go:17:0-22:1) para proteger chaves de API (Stripe, Cloudflare, etc).
- Automatiza geração de pares de chaves RSA no .env via script.

FRONTEND:
- Refatora /dashboard/backoffice organizando em Abas: Dashboard, Planos, Stripe e Sistema.
- Implementa CRUD completo para gestão de Planos (criar, editar, remover).
- Adiciona visualização de status do Stripe e botão para limpar cache Cloudflare.
- Ajusta formatação de data nos logs para fuso horário America/Sao_Paulo.
- Atualiza pi.ts para suportar novos endpoints de planos e credenciais.
2026-01-09 17:18:51 -03:00
NANDO9322
c339c3fbaf feat(backoffice): corrige erro 500 e implementa seeder de banco
- Remove marcadores de conflito git em admin_service que causavam erro 500 em ListCompanies.
- Implementa SeederService no backend Go com streaming SSE para logs em tempo real.
- Expõe endpoints: GET /api/v1/seeder/seed/stream e POST /api/v1/seeder/reset.
- Atualiza config do frontend para apontar URL do seeder para a API backend.
- Corrige erros de sintaxe na UI do dashboard Backoffice e implementa busca de estatísticas.
- Garante lógica correta de UPSERT no seeder (RETURNING id) usando colunas 'identifier' e 'full_name' para evitar abortar transações.
- Corrige constraint de role em user_companies no seeder para usar 'admin'.
2026-01-09 12:21:56 -03:00
NANDO9322
6c178946cc resolve bug cloudflare 2026-01-08 18:22:25 -03:00
NANDO9322
ad558bc656 feat: melhorias na gestão de empresas e correções de persistência
- Backend: Correção na persistência do email da empresa (CreateCompanyUseCase) e suporte a exclusão em cascata (Cascade Delete) para evitar erro 500.
- Backend: Adicionado suporte completo para Phone, Website, Address, Description e Slug na criação.
- Backend: Correção crítica no JobService para ocultar nome de candidatos na listagem de vagas.
- Frontend: Adição da coluna 'Email' na listagem de empresas e padronização dos ícones de ação.
- Frontend: Inclusão de novas chaves de tradução (i18n) e melhorias no modal de criação.
2026-01-08 17:14:41 -03:00
NANDO9322
23ff95f1a8 fix: correcao cloudflare 2026-01-08 10:07:14 -03:00
NANDO9322
a43e664a56 fix: correcao cloudflare 2026-01-06 20:31:32 -03:00
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