Skip to content

Repository files navigation

Simulando Fatec | Extractor

Este repositório faz parte do projeto SIMULANDO FATEC que visa desenvolver uma plataforma gratuita para estudantes realizarem simulados do Vestibular FATEC.

Para que a plataforma funcione corretamente, é necessário ter um banco de dados populado com questões organizadas e bem estruturadas. Pensando nisso, este repositório foi criado com o objetivo de automatizar a extração das questões diretamente dos PDFs das provas e gabaritos oficiais da FATEC, convertendo-as para o formato JSON.

O script analisa os arquivos PDF da prova e do gabarito, localiza e extrai as questões de forma estruturada, transformando-as em um JSON padronizado. Esse JSON pode então ser cadastrado em um banco de dados e mostrados na tela.

Tip

Confira também o Front-end e Back-end do Simulando Fatec!


🛠️ Tech Stack

O projeto foi desenvolvido utilizando Python, linguagem escolhida pela sua versatilidade e poderosas bibliotecas de manipulação de arquivos e dados estruturados. O script em Python é responsável por abrir e ler os PDFs da prova e do gabarito, processar os textos e organizar as informações extraídas no formato JSON.

Para auxiliar na interpretação e organização das questões, foi utilizado o Gemini AI, uma inteligência artificial desenvolvida pela Google. Com a ajuda dessa IA, foi possível identificar padrões e extrair dados de forma mais precisa e eficiente.

O ambiente de desenvolvimento utilizado foi o PyCharm, uma IDE robusta para Python que contribuiu com recursos como destaque de sintaxe, depuração, execução rápida e organização geral do projeto.

Linguagem Biblioteca Editor / IDE
Python Gemini AI PyCharm

📁 Estrutura do Projeto

fatec_geral: Responsável por percorrer por todas as provas da FATEC (anos e semestres) para extrair seus dados.

fatec_control: Responsável por selecionar uma prova específica da FATEC para extrair seus dados.

fatec_format_questions.py: Responsável por formatar cada questão e armazenar em um JSON.

fatec_extract_images.py: Responsável por extrair as imagens de uma prova e armazenar seu caminho no JSON.

prompt/: Contém os arquivos utilizados para instruir o Gemini AI durante o processo de extração/formatação das questões e imagens.

  • geminiai-extracao-questao.txt: Contém o texto de instruções enviado ao Gemini AI para orientar a conversão das questões.
  • geminiai-extracao-imagem.txt: Contém o texto de instruções enviado ao Gemini AI para orientar a extração das imagens.
  • questao-base.json: Arquivo modelo com o formato desejado da questão em JSON.
  • extracao-imagem-base.json: Arquivo modelo com o formato desejado da extração das imagens organizadas em JSON.

fatec_formatado/: Pasta onde serão salvos os arquivos JSON contendo as questões formatadas.

pdf/: Diretório destinado ao armazenamento dos PDFs das provas e dos gabaritos da FATEC.

.gitignore: Arquivo de configuração do Git que define quais arquivos ou pastas devem ser ignorados no versionamento.

> ESTRUTURA VISUAL

📦
├── fatec_geral.py
├── fatec_control.py
├── fatec_format_questions.py
├── fatec_extract_images.py
├── prompt/
│   ├── geminiai-extracao-questao.txt
│   ├── geminiai-extracao-imagem.txt
│   ├── questao-base.json
│   └── extracao-imagem-base.json
├── fatec_formatado/
├── pdf/
│   ├── FatecProva_<ANO>_<SEMESTRE>.pdf
│   └── FatecGabarito_<ANO>_<SEMESTRE>.pdf
├── .gitignore

Warning

Os arquivos PDF's devem seguir a seguinte nomenclatura:

Modelo: FatecProva_ANO_SEMESTRE.pdf
Ex: FatecProva_2024_1.pdf

Modelo: FatecGabarito_ANO_SEMESTRE.pdf
Ex: FatecGabarito_2024_1.pdf


⚙️ Pré-requisitos

  • Ter o Python instalado no sistema.
  • Gerar uma API Key para utilizar o GeminiAI.
  • Baixar o PyCharm para facilitar a execução e organização do código (opcional).

🚀 Inicializando o projeto

Note

Em caso de dúvidas, veja a documentação oficial da API da Gemini AI!

Caution

O Gemini AI tende a errar os valores dos campos enunciado e pergunta. Por isso, é bom revisá-los!

  1. Faça um git clone do repositório:
git clone https://github.com/LucasOkokama/simulando-fatec-extrator
cd simulando-fatec-extrator
  1. Instale as depêndencias do projeto:
pip install -r requirements.txt
  1. Crie um arquivo .env para armazenar sua API Key:
GEMINIAI_KEY=<SUA_GEMINIAI_API_KEY>   
  1. Execute o script principal:
py fatec.py

About

Repositório do projeto SIMULANDO FATEC para extrair questões de provas em PDF e convertê-las em JSON estruturado, usando Python e IA Gemini AI.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages