Sistemas

Documentação Completa: CurriculoATSPro

27/08/2025

1. Visão Geral e Arquitetura da Ferramenta

1.1. Propósito do Negócio

O CurriculoATSPro é uma aplicação web projetada para resolver um problema central no mercado de trabalho moderno: a dificuldade que muitos profissionais têm em criar currículos que sejam não apenas visualmente atraentes, mas também otimizados para passar pelos Sistemas de Rastreamento de Candidatos (ATS - Applicant Tracking Systems).

A ferramenta funciona como um assistente de carreira inteligente, guiando o usuário através de um processo estruturado de coleta de dados e utilizando Inteligência Artificial para analisar, sugerir melhorias e, finalmente, gerar um currículo profissional pronto para o mercado.

1.2. Infraestrutura e Tecnologias

A aplicação é construída sobre uma pilha de tecnologias Python robusta e moderna, focada em escalabilidade e manutenibilidade.

1.3. Como a Aplicação Funciona (Fluxo de Dados)

  1. Registro e Login: O usuário cria uma conta. Seus dados são salvos de forma segura no banco de dados.
  2. Criação do Currículo (Plataforma): O usuário acessa a plataforma em etapas. Ao preencher os formulários, o JavaScript no navegador cria uma experiência interativa (adicionando/removendo campos).
  3. Salvamento no Banco de Dados: Quando o usuário clica em “Salvar e Analisar”, todos os dados do formulário são enviados para o servidor Flask. A view (app/core/views.py) valida os dados e os salva de forma estruturada nas tabelas do banco de dados (Resume, WorkExperience, etc.).
  4. Análise de IA (Primeira Vez): Imediatamente após salvar, o servidor faz uma chamada para a API do Google Gemini, enviando os dados do currículo. A IA retorna uma análise estruturada (em formato JSON), que é então salva no banco de dados junto com o currículo do usuário.
  5. Dashboard de Carreira: O usuário é redirecionado para o dashboard. A view do dashboard simplesmente lê os dados do currículo e a análise de IA já salva do banco de dados e os exibe. Nenhuma chamada de IA é feita ao carregar esta página, tornando-a rápida e eficiente.
  6. Interações de IA no Dashboard:
    • Chatbot: Quando o usuário envia uma mensagem no chat, o JavaScript envia essa mensagem para uma rota de API no Flask. O servidor então faz uma nova chamada à IA, incluindo o contexto do currículo, e retorna a resposta para ser exibida no chat.
    • Refazer Análise: Clicar neste botão aciona uma rota específica que reexecuta a função de análise de IA, atualiza os dados no banco e recarrega a página.
  7. Geração de PDF: Ao clicar em “Baixar PDF”, o navegador acessa uma rota específica (/resume/generate/<id>). O servidor busca os dados do currículo no banco, renderiza um template HTML especial com esses dados e usa a biblioteca WeasyPrint para converter esse HTML em um arquivo PDF, que é então enviado de volta para o navegador para download.

2. Guia de Utilização da Ferramenta (Para o Usuário Final)

2.1. Criando sua Conta

  1. Acesse a página inicial e clique em “Registrar”.
  2. Preencha seu nome de usuário, e-mail e crie uma senha segura.
  3. Após o registro, você será redirecionado para a página de Login. Use seu e-mail e senha para acessar a plataforma.

2.2. Preenchendo seu Currículo na Plataforma

Após o primeiro login, você será levado diretamente para a plataforma de criação. A plataforma é dividida em 4 etapas para facilitar o preenchimento:

Ao final, clique em “Salvar e Analisar Currículo”. Sua primeira análise de IA será gerada neste momento.

2.3. Utilizando seu Dashboard de Carreira

Após salvar, você terá acesso ao seu dashboard, que é o seu centro de comando.

3. Guia do Desenvolvedor e Manutenção

3.1. Instalação e Configuração

  1. Clone o repositório: git clone ...
  2. Crie um ambiente virtual: python -m venv venv
  3. Ative o ambiente: source venv/bin/activate (ou venv\Scripts\activate no Windows).
  4. Instale as dependências: pip install -r requirements.txt
  5. Configure a Chave de API: Crie um arquivo .env na raiz do projeto e adicione sua chave do Google Gemini: GEMINI_API_KEY=SUA_CHAVE_AQUI.
  6. Inicialize o Banco de Dados:
    • export FLASK_APP=wsgi.py (ou set no Windows)
    • flask db init (apenas na primeira vez)
    • flask db migrate -m "Mensagem da migração"
    • flask db upgrade
  7. Execute a Aplicação: flask run

3.2. Estrutura do Projeto

A aplicação segue o padrão de Blueprints do Flask, separando cada área lógica em seu próprio módulo.

3.3. Manutenção e Evolução

Voltar