Muitas empresas lidam com milhares de documentos diariamente, como currículos, contas, notas fiscais e assim por diante. Porém, extrair informações destes documentos é uma atividade difícil que depende da ação humana (mais lenta que computadores), pois retirar apenas o texto pode não ser suficiente, visto que as informações dependem do layout visual.
Desenvolvimento de uma interface gráfica com Java Desktop, utilizando VLM (Vision Language Model) para a extração de informações de documentos, armazenando e manipulando em um banco de dados. O sistema será capaz de ler, extrair e devolver a requisição feita pelo usuário. Será utilizado modelos de inteligência artificial para melhorar a praticidade e escalamento.
| Sprint | Início | Status |
|---|---|---|
| Kick Off | 29/08/2024 | Concluído |
| 01 | 09/09/2024 | Concluído |
| 02 | 30/09/2024 | Concluído |
| 03 | 21/10/2024 | Concluído |
| 04 | 11/11/2024 | Concluído |
| Feira de Soluções | 12/12/2024 | Concluído |
DocEye é um software de extração de informações desenvolvido para automatizar e otimizar processos seletivos, facilitando a análise de documentos como os currículos. Seu principal objetivo é transformar informações não estruturadas, como texto em arquivos PDF ou imagens, em dados organizados e de fácil acesso para recrutadores e gestores de recursos humanos.
Descrição: O DocEye utiliza tecnologias para identificar e extrair informações essenciais dos documentos, como nome, contato e competências. Esses dados são processados e apresentados em um formato estruturado, permitindo aos profissionais responsáveis pela seleção filtrarem candidatos de forma rápida e eficiente.
Sprint1.mp4
Sprint2.mp4
Sprint3.mp4
Sprint4.mp4
| ID | Descrição | Requisito |
|---|---|---|
| RQ01 | O usuário poderá submeter documentos para modelos de linguagem e visão. | Funcional |
| RQ02 | O software deverá tratar a saída dada por esses modelos. | Funcional |
| RQ03 | Criar uma interface para cadastrar documentos. | Funcional |
| RQ04 | Criar uma interface para para exibir resultados. | Funcional |
| RQ05 | O usuário poderá cadastrar informações extraídas em um banco de dados relacional. | Funcional |
| RQ06 | O usuário poderá recuperar informações do banco de dados. | Funcional |
| RQ07 | O usuário poderá editar informações do banco de dados. | Funcional |
| RQ08 | O usuário poderá deletar informações do banco de dados. | Funcional |
| RQ09 | O software não poderá utilizar nenhuma API externa. | Não Funcional |
| RQ10 | A aplicação precisa rodar localmente na máquina. | Não Funcional |
| RQ11 | A aplicação deve conter uma interface minimalista e intuitiva. | Não Funcional |
| Rank | Prioridade | User Story | Estimativa | Sprint |
|---|---|---|---|---|
| 1 | Alta | Como usuário, ter um modelo de inteligência artificial integrada na aplicação, para extração de informações presentes nos documentos | 13 | 1 |
| 2 | Alta | Como usuário, poder carregar documentos, para que a aplicação extraia as informações importantes | 18 | 1 |
| 3 | Alta | Como usuário, ter as informações extraídas armazenadas em um banco de dados, para permanência dos dados | 4 | 1 |
| 4 | Alta | Como usuário, ter acesso e poder manipular o banco de dados, para exclusão e leitura das informações cadastradas | 13 | 2 |
| 5 | Alta | Como usuário, cadastrar automaticamente as informações extraídas pela inteligência artificial, para automatização do processo | 8 | 2 |
| 6 | Alta | Como usuário, poder acessar as funcionalidades da aplicação por meio de uma interface minimalista e intuitiva, para facilitação no uso do serviço | 18 | 3 |
| 7 | Média | Como usuário, tratar a saída da inteligência artificial, para realizar a inserção automática | 13 | 2 |
| 8 | Média | Como usuário, ter um modelo de inteligência artificial exclusivo da aplicação, para ter uma resposta ideal na extração | 18 | 3 |
| 9 | Média | Como usuário, fazer filtragem dos currículos cadastrados no banco de dados, baseado em requisitos | 8 | 4 |
| 10 | Baixa | Como usuário, ter garantia na segurança dos dados extraídos, para evitar ataques | 3 | 4 |
| 11 | Baixa | Como usuário, ter um manual detalhado, para entender o funcionamento completo do software | 18 | 4 |
O sistema será baseado em uma arquitetura de camadas, onde cada parte desempenha um papel específico no processo:
- Frontend (Interface Gráfica): Desenvolvido em Java com uso de bibliotecas gráficas (JavaFX ou Swing), permitindo uma interação amigável para o usuário final.
- Backend: Responsável pelo processamento de dados, comunicação com o banco de dados (MySQL), e integração com inteligência artificial.
- IA/Leitura de Documentos: Utilização de modelos treinados para a leitura automática de documentos e reconhecimento de caracteres.
- Banco de Dados: MySQL para armazenar os dados dos documentos, usuários e logs do sistema.
Ferramentas e plataformas aplicadas no desenvolvimento do projeto:
- Figma 🎨
- Git e GitHub 🐙
- IntelliJ IDEA 🖥️
- Java ☕
- Ollama 🧠 (Modelos de IA)
- MySQL 🗄️
- Draw.io 📊
- Markdown 📝
- Trello 🔧
- Google Sheets 📑
- Java Development Kit (JDK): Certifique-se de ter o JDK 11 ou superior instalado.
- MySQL: Banco de dados utilizado no projeto.
- Git: Para clonar o repositório.
- IDE: Como IntelliJ IDEA ou NetBeans.
- Tess4J: Biblioteca para integrar o Tesseract ao Java, permitindo realizar o OCR.
- Tesseract OCR: Ferramenta de OCR para extração de texto a partir de imagens.
- JavaFX: Framework para a criação de interfaces gráficas de usuário (GUI).
| Cliente | Período/Curso | Professor M2 | Professor P2 | Contato Cliente |
|---|---|---|---|---|
| Giuliano Bertoti | 2º ADS (Análise e Desenvolvimento de Sistemas) | Cláudio Etelvino | Giuliano Bertoti | [email protected] |


