Skip to content

Latest commit

History

114 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Projeto API - 2º Semestre

Logo

📌 Tema

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.


🎯 Objetivo do Projeto

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.


📅 Cronograma e Sprints

SprintInícioStatus
Kick Off29/08/2024Concluído
0109/09/2024Concluído
0230/09/2024Concluído
0321/10/2024Concluído
0411/11/2024Concluído
Feira de Soluções12/12/2024Concluído

📚 MVP (Minimum Viable Product)

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.


🔊 Demonstração

Sprint 1

Sprint1.mp4

Sprint 2

Sprint2.mp4

Sprint 3

Sprint3.mp4

Sprint 4

Sprint4.mp4

🛤️ Roadmap

Roadmap


📝 Levantamento de Requisitos

IDDescriçãoRequisito
RQ01O usuário poderá submeter documentos para modelos de linguagem e visão.Funcional
RQ02O software deverá tratar a saída dada por esses modelos.Funcional
RQ03Criar uma interface para cadastrar documentos.Funcional
RQ04Criar uma interface para para exibir resultados.Funcional
RQ05O usuário poderá cadastrar informações extraídas em um banco de dados relacional.Funcional
RQ06O usuário poderá recuperar informações do banco de dados.Funcional
RQ07O usuário poderá editar informações do banco de dados.Funcional
RQ08O usuário poderá deletar informações do banco de dados.Funcional
RQ09O software não poderá utilizar nenhuma API externa.Não Funcional
RQ10A aplicação precisa rodar localmente na máquina.Não Funcional
RQ11A aplicação deve conter uma interface minimalista e intuitiva.Não Funcional

📑 Backlog do Produto

RankPrioridadeUser StoryEstimativaSprint
1AltaComo usuário, ter um modelo de inteligência artificial integrada na aplicação, para extração de informações presentes nos documentos131
2AltaComo usuário, poder carregar documentos, para que a aplicação extraia as informações importantes181
3AltaComo usuário, ter as informações extraídas armazenadas em um banco de dados, para permanência dos dados41
4AltaComo usuário, ter acesso e poder manipular o banco de dados, para exclusão e leitura das informações cadastradas132
5AltaComo usuário, cadastrar automaticamente as informações extraídas pela inteligência artificial, para automatização do processo82
6AltaComo usuário, poder acessar as funcionalidades da aplicação por meio de uma interface minimalista e intuitiva, para facilitação no uso do serviço183
7MédiaComo usuário, tratar a saída da inteligência artificial, para realizar a inserção automática132
8MédiaComo usuário, ter um modelo de inteligência artificial exclusivo da aplicação, para ter uma resposta ideal na extração183
9MédiaComo usuário, fazer filtragem dos currículos cadastrados no banco de dados, baseado em requisitos84
10BaixaComo usuário, ter garantia na segurança dos dados extraídos, para evitar ataques34
11BaixaComo usuário, ter um manual detalhado, para entender o funcionamento completo do software184

🏗️ Arquitetura do Sistema

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.

🛠️ Tecnologias Utilizadas

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 📑

📋 Para Executar o Projeto

Pré-requisitos:

  • 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).

Fatec São José dos Campos - Prof. Jessen Vidal

ClientePeríodo/CursoProfessor M2Professor P2Contato Cliente
Giuliano Bertoti2º ADS (Análise e Desenvolvimento de Sistemas)Cláudio EtelvinoGiuliano Bertotigiuliano.bertoti@fatec.sp.gov.br

👥 A Equipe Code Don´t Blow

IntegranteFunçãoGitHub
Rafael GonçalvesProduct OwnerGitHub
Leonardo CristianoScrum MasterGitHub
Luana SouzaDev TeamGitHub
Mariana LinsDev TeamGitHub
Matheus di SabatinoDev TeamGitHub
Ygor PereiraDev TeamGitHub
Vanessa da CostaDev TeamGitHub
Henrique TadeuDev TeamGitHub

Logo Preta

About

API (Aprendizagem por Projetos Integrados) 2º Semestre - Software para automatização de extração de informações

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages