Skip to content

Este é o repositório do projeto API desenvolvido na FATEC - Prof. Jessen Vidal (2/6)

License

Notifications You must be signed in to change notification settings

equipeAdalove/API-SEMESTRE2

Repository files navigation

API ADS 2º Semestre

Adalove



Desafio | MVP | Arquitetura | Protótipo | Demonstração | Sprints | Requisitos | Metodologia | Backlog do Produto | Equipe | Docentes


Raphs-Jira Raphs-Trello Raphs-CSS Raphs-Java Raphs-MySQL Raphs-Git Raphs-IntelliJ Raphs-Figma Raphs-Ollama



Status do Projeto: Em progresso! 🛠


🏁 Desafio: Software para automatizar a extração de informações de documentos

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 atividade humana (mais lenta que computadores) pois apenas retirar o texto pode não ser suficiente visto que as informações dependem do layout visual.
O objetivo deste API é desenvolver um software para automatizar a extração de informações de documentos usando modelos de linguagem e visão.

🫧 MVP (Minimal Viable Product)

Análise de Relatórios de Casos Clínicos é um projeto voltado para facilitar o acesso e a análise de dados extraídos de relatórios clínicos, organizando as informações de forma estruturada para que profissionais da área de psicologia possam trabalhar de maneira mais eficiente.
Descrição do Projeto: O objetivo é desenvolver um software que automatize a extração de informações essenciais dos relatórios clínicos, como diagnósticos, tratamentos e evolução do paciente, dentro de um hospital psiquiàtrico, organizando essas informações em um formato acessível.
Nele, o usuário poderá:
  • Cadastrar relatórios clínicos no banco de dados, de forma simples e ágil.
  • Consultar, atualizar e deletar relatórios cadastrados.
  • Extrair as informações essenciais dos documentos,relacionadas aos pacientes.
  • Editar as informações extraídas dos relatórios.

🛠️ Arquitetura do Sistema

Tendo em vista que a arquitetura do software de Análise de Relatórios de Casos Clínicos precisa equilibrar os requisitos funcionais e não funcionais, como privacidade de dados, desempenho, usabilidade e a independência de APIs externas.
Uma arquitetura modular e escalável foi desenhada com base nesses aspectos, dividida em camadas:

Arquitetura Geral: Camadas

  1. Camada de Apresentação (Frontend)
  2. Camada de Aplicação (Backend)
  3. Camada de Persistência de Dados
  4. Camada de Processamento de Documentos (Visão e Linguagem)
  5. Camada de Segurança

Benefícios:

  • Privacidade: Garantia de privacidade, pois não depende de serviços externos.
  • Escalabilidade Local: Pode ser ampliado para rodar em servidores locais ou escalado em hardware dedicado.
  • Flexibilidade: O uso de modelos open-source permite adaptação e personalização de acordo com as necessidades específicas dos usuários.

Leia mais sobre a arquitetura do software!


✨ Protótipo do Programa



🎥 Demonstração

📂 Sprint 1:

Video-Sprint1.mp4

📖 Metodologia

Este é um projeto pedagógico alicerçado na Metodologia API, baseado na metodologia ágil SCRUM, para ensino-aprendizado focado no desenvolvimento de competências e fundamentada nos pilares de aprendizado com problemas reais (RPBL), validação externa e mentalidade ágil.
Uso de estratégias para entender o problema, conceber uma solução viável ao desenvolver e implementar o MVP seguido de sua operação (CDIO).
Os resultados dos projetos devem obedecer ao Aviso Legal disponível no site da Fatec SJC com definição das datas do kickoff e das sprints. Ler mais


📅 Sprints

🥇 SPRINT 1: Concluída!
Clique para visualizar o relatório da 1° Sprint

🚀 SPRINT 2: Em progresso!

🔒 SPRINT 3: Ainda não iniciada!

🔒 SPRINT 4: Ainda não iniciada!


🖇️ Requisitos

ID Descrição Origem
RQ01 O usuário poderá submeter documentos para modelos de linguagem e visão. Lista de requisitos
RQ02 O software deverá tratar a saída dada por esses modelos. Lista de requisitos
RQ03 Criar uma interface para submissão de documentos. Lista de requisitos
RQ04 Criar uma interface para exibir resultados. Lista de requisitos
RQ05 O usuário poderá cadastrar informações extraídas em um banco de dados relacional. Lista de requisitos
RQ06 O usuário poderá consultar as informações do banco de dados. Lista de requisitos
RQ07 O usuário poderá editar informações do banco de dados. Lista de requisitos
RQ08 O usuário poderá deletar informações do banco de dados. Lista de requisitos
RQ09 O software não poderá utilizar nenhuma API externa. Lista de requisitos
RQ10 A aplicação precisa rodar localmente na máquina. Lista de requisitos
RQ11 O software deverá visar a privacidade dos dados, através de um sistema de controle de acesso. Acordo com o cliente
RQ12 A aplicação deve conter uma interface minimalista e intuitiva. Lista de requisitos
RQ13 O usuário terá acesso à documentação do projeto e aos guias de uso. Acordo com o cliente
RQ14 O usuário poderá filtrar os relatório relevantes através das informações-chave do paciente(nome, patologia, etc.). Acordo com o cliente


🐙 Backlog do Produto

Rank Requisito Prioridade User Story Sprint Status
1 RQ01 - RQ02 Alta Como requerente, quero que o sistema extraia informações textuais automaticamente dos documentos para que eu não precise fazer isso manualmente. 1 ✔️
2 RQ03 - RQ05 Alta Como usuário do sistema, quero uma interface simples e intuitiva para cadastrar os documentos no software. 1 ✔️
3 RQ02 Alta Como usuário do sistema, quero uma interface de exibição dos dados extraídos de maneira estruturada e visual, para agilizar o uso do software. 1 ✔️
4 RQ05 Alta Como cliente, quero que as informações extraídas sejam armazenadas em um banco de dados, para que não haja perda de dados. 2
5 RQ08 Média Como administrador, quero ter a opção de deletar documentos do banco de dados para manter apenas informações relevantes. 2
6 RQ06 Média Como contratante, quero consultar os relatórios já cadastrados no sistema, para otimizar meu trabalho diário e facilitar a tomada de decisões. 3
7 RQ07 Média Como contratante, quero ter a opção de editar as informações extraídas dos relatórios, para corrigir erros ou atualizar informações. 2
8 RQ10 Média Como administrador, quero garantir que a aplicação funcione localmente para preservar a privacidade dos dados e reduzir custos. 2
9 RQ11 Média Como administrador, quero garantir que os relatórios submetidos estejam protegidos através de sistema controle de acesso para garantir a confidencialidade das informações. 1
10 RQ14 Baixa Como requerente, quero filtrar as informações extraídas dos relatórios através dos dados do paciente (nome, sexo, patologia), para que eu possa encontrar facilmente os relatórios. 3
11 RQ12 Baixa Como usuário, quero que a interface seja otimizada para garantir um uso mais rápido e eficiente do sistema. 4
12 RQ13 Baixa Como usuário, quero ter acesso à documentação do projeto, para entender o funcionamento do sistema e facilitar o seu uso. 4
13 RQ12 Baixa Como contratante, quero que a equipe de desenvolvimento realize testes no software, para garantir que os dados sejam armazenados e extraídos corretamente. 3
14 RQ12 Baixa Como cliente, quero a otimização do sistema, e a correção de pequenos bugs, visando o uso rápido e eficiente da aplicação. 4


🥇 Equipe

Membro Função Github Linkedin
Raphaela Monteiro Product Owner
Vitor Ribeiro Scrum Master
Angelina Borroni Desenvolvedor
Celso Rocha Desenvolvedor
Maria Fernanda Hansen Desenvolvedor
Matheus Germano Desenvolvedor
Renan Tomasi Desenvolvedor

🗝️ Docentes:

Prof° Giuliano Bertoti Prof° Cláudio Lima