Repositório: https://github.com/renat473/rh-qroq
⚠️ AVISO DE SEGURANÇA
Este código foi gerado utilizando LLM v0 com Cursor como forma de testes e não foi feita uma análise profunda sobre a segurança do código gerado pela LLM. Recomenda-se cautela ao utilizar este código em ambientes de produção sem uma revisão de segurança adequada.
Interface para análise de documentos usando IA, com foco em comparação de currículos com vagas de emprego.
- Análise de currículos usando IA
- Comparação de currículos com descrições de vagas
- Interface intuitiva e responsiva
- Análise detalhada de compatibilidade
- Recomendações de melhorias
- Next.js 14
- TypeScript
- Tailwind CSS
- Groq API
- Docker
- Node.js 18+
- Docker (opcional)
- Chave de API do Groq
- Clone o repositório:
git clone https://github.com/renat473/rh-qroq.git
cd rh-qroq
- Instale as dependências:
npm install
- Configure as variáveis de ambiente:
cp .env.example .env.local
Edite o arquivo .env.local
e adicione sua chave de API do Groq.
npm run dev
npm run build
npm start
- Copie o arquivo de exemplo de ambiente:
cp .env.example .env
- Edite o arquivo
.env
com suas configurações:
GROQ_API_KEY=sua_chave_aqui
NODE_ENV=development
NEXT_PUBLIC_API_URL=http://localhost:3000/api
Para desenvolvimento (com hot-reload):
docker-compose up app-dev
Para produção:
docker-compose up app-prod
docker build -t rh-qroq --target production .
O sistema utiliza a API Groq para análise de currículos. O prompt principal está localizado no componente CVJobMatcher
(components/cv-job-matcher.tsx
). Para personalizar o comportamento da análise, você pode modificar o systemPrompt
e o prompt
dentro da função handleAnalyze
.
const systemPrompt = `Você é um especialista em análise de currículos e correspondência com vagas de emprego.
Sua tarefa é comparar o currículo de um candidato com a descrição de uma vaga e fornecer uma análise detalhada.
Concentre-se em:
1. Correspondência de habilidades (quais habilidades da descrição da vaga estão presentes/ausentes no currículo)
2. Relevância da experiência (como a experiência do candidato se alinha com os requisitos da vaga)
3. Correspondência educacional (se os requisitos educacionais são atendidos)
4. Percentual geral de adequação e recomendações específicas para melhoria
5. Principais pontos fortes que o candidato traz para o cargo
6. Possíveis lacunas ou áreas para desenvolvimento
Formate sua resposta de forma clara e estruturada, com títulos e tópicos onde apropriado.
IMPORTANTE: Responda sempre em português do Brasil.`
const prompt = `Por favor, analise como este currículo corresponde à seguinte descrição de vaga:
CURRÍCULO:
${cvText}
DESCRIÇÃO DA VAGA:
${jobDescription}
Forneça uma análise detalhada da correspondência entre o currículo e a descrição da vaga.`
- Abra o arquivo
components/cv-job-matcher.tsx
- Localize a função
handleAnalyze
- Modifique o
systemPrompt
para alterar o comportamento geral da análise - Ajuste o
prompt
para mudar como o currículo e a vaga são apresentados à LLM
- Mantenha a estrutura clara e organizada
- Especifique o formato desejado da resposta
- Inclua exemplos se necessário
- Defina critérios específicos de avaliação
- Mantenha o idioma consistente (português do Brasil)
.
├── app/ # Diretório principal da aplicação
│ ├── api/ # Rotas da API
│ ├── layout.tsx # Layout principal
│ └── page.tsx # Página inicial
├── components/ # Componentes React
│ ├── cv-job-matcher.tsx # Componente de comparação CV-vaga
│ ├── resume.tsx # Componente de currículo
│ └── ui/ # Componentes de UI reutilizáveis
├── lib/ # Utilitários e configurações
├── public/ # Arquivos estáticos
└── styles/ # Estilos globais
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Link do Projeto: https://github.com/renat473/rh-qroq