Objetivo • Visão do produto • Cronograma • Backlog/Entregas • Requisitos • Tecnologias • Como usar • Equipe
O objetivo do nosso produto é simplificar a extração de insights de documentos escritos. Usando inteligência artificial, capacitamos os usuários a gerar perguntas relevantes e obter respostas instantâneas, aprimorando a produtividade em estudos e análises.
Nosso produto é uma aplicação Java desktop que, através de inteligência artificial, permite aos usuários extrair perguntas e respostas de documentos PDF ou TXT, tornando a análise de conteúdo mais eficiente.
Sprint | Requisitos | Prioridade | Descrição |
---|---|---|---|
1 | Tela de carregamento de doc. funcional. | Alta | Uma interface gráfica para o carregamento do arquivo de texto a inserir no assistente virtual. |
1 | Tela em formato de chat. | Alta | Uma interface gráfica para inserir perguntas e obter respostas a respeito do arquivo carregado. |
1 | Integração da IA. | Alta | Aplicação da mecânica da IA com as telas de carregamento e chat para obter as respostas desejadas. |
1 | Registro e documentação via Github. | Alta | Documentar e registrar o processo de criação e desenvolvimento através do Github. |
1 | Product Backlog | Média | Desenvolver o backlog total do produto |
1 | Criação de protótipo Figma | Média | Criação de um protótipo via Figma para esquema visual do produto. |
1 | Tela de cadastro. | Baixa | Uma tela para cadastro de usuários. |
1 | Tela de login. | Baixa | Interface gráfica de login para o usuário acessar o assistente virtual. |
2 | Tela de registro de atividades. | Alta | Interface gráfica para visualizar o registro contendo usuário, data e nome do arquivo. |
2 | Banco de dados | Alta | Criação do banco de dados[(sem conexão) pensar na implementação e conexão |
2 | Conexão com Banco de dados | Alta | Será feita a conexão do banco de dados com todas as telas e funções que necessitam de tal aplicação. |
2 | Aperfeiçoamento da GUI(estilização) | Média | Aperfeiçoamento estético da interface gráfica. |
3 | Aperfeiçoamento do código para melhor experiência de respostas | Alta | Inserção e aperfeiçoamento do código para aumentar a experiência das respostas obtidas através da IA. |
3 | Frontend da tela de login | Média | Inserção de botão que permite ao usuário informar que não lembra da sua senha de acesso e o leva a uma tela de recuperação de senha |
3 | Frontend da tela de recuperação de senha | Média | Criação de uma interface gráfica onde o usuário possa solicitar a recuperação do acesso em caso de perda de senha. |
3 | Backend da tela de recuperação de senha | Média | Implementação dos códigos necessários para o funcionamento do sistema de recuperação de senha |
3 | Backend sistema de envio de código para recuperação de senha | Média | Implementação dos códigos necessários para o envio de um e-mail de recuperação de senha com um token de verificação, utilização de java e HTML. |
3 | Frontend tela de inserção de código de recuperação de senha | Média | Criação de uma interface gráfica onde o usuário ira inserir o token de verificação para dar início ao processo de criação da nova senha de acesso. |
3 | Backend sistema de inserção de código de recuperação de senha | Média | Implementação dos códigos necessários para que o token de verificação seja confirmado pelo sistema e o envie para a etapa de cadastro de nova senha. |
3 | Frontend da tela para criação de nova senha | Média | Criação de uma interface gráfica onde o usuário criará sua nova senha. |
3 | Backend do sistema de criação de nova senha | Média | Implementação dos códigos que permitirão a alteração da antiga senha por uma nova e seu respectivo registro no Banco de Dados. |
3 | Frontend implementação de visualizar/ocultar senha | Baixa | Alteração visual na tela de login permitindo a visualização/ocultação da senha por meio do clique do mouse. |
4 | Alteração no tamanho e qualidade das respostas | Alta | Alteração no código para melhoria no tamanho e qualidade das respostas exibidas. |
4 | Melhoria na exibição do histórico | Alta | Modificações para que a exibição do histórico de arquivos carregados mostrem apenas informações relacionadas ao usuário que está logado. |
4 | Criptografia de senhas | Média | Implementação de hash para criptografia de senhas para maior segurança. |
4 | Multithreading | Média | Implementação de multithreading permitindo o processamento de mais de uma resposta e pergunta ao mesmo tempo. |
4 | Exclusão de arquivos temporários | Média | Implementação de código para excluir arquivos gerados pela aplicação. |
4 | Documentação | Baixa | Criação de um quickstart para guiar a utilização da aplicação |
Para assistir a nossa apresentação clique no Link
Sprints
Tarefa | Prioridade | Status |
---|---|---|
Desenvolvimento do Product Backlog | Alta | Entregue |
Criação de Protótipo para referência. | Alta | Entregue |
Criação de Repositórios para documentação via Github. | Alta | Entregue |
Integração com a IA | Alta | Entregue |
Desenvolver uma tela de carregamento de arquivos. | Média | Entregue |
Desenvolver uma tela de chat. | Média | Entregue |
Tela de login | Baixa | Entregue |
Tela de cadastro | Baixa | Entregue |
Tarefa | Prioridade | Status |
---|---|---|
Desenvolvimento da tela de registro de atividades | Alta | Entregue |
Integração com o banco de dados | Alta | Entregue |
Frontend tela de login | Média | Entregue |
Frontend tela de cadastro | Média | Entregue |
Frontend tela de carregamento de arquivos | Média | Entregue |
Frontend tela de chat | Média | Entregue |
Tela de cadastro. | Baixa | Entregue |
Tela de login. | Baixa | Entregue |
Tarefa | Prioridade | Status |
---|---|---|
Aperfeiçoamento do código para melhor experiência de respostas | Alta | Entregue |
Botão para recuperar senha | Média | Entregue |
Tela para solicitação de senha | Média | Entregue |
Sistema de confirmação de e-mail | Média | Entregue |
Tela para criação de nova senha | Média | Entregue |
Botão para ocultar/mostrar senha | Baixa | Entregue |
Tarefa | Prioridade | Status |
---|---|---|
Alteração no tamanho e qualidade das respostas | Alta | Entregue |
Melhoria na exibição do histórico | Alta | Entregue |
Criptografia de senhas | Média | Entregue |
Multithreading | Média | Entregue |
Exclusão de arquivos temporários | Média | Entregue |
Frontend tela de chat | Média | Entregue |
Documentação Quickstart | Baixa | Entregue |
ID | SPRINT | US | ESTIMATIVA DE ESFORÇO EM HORAS | TASK | CRITÉRIO DE ACEITAÇÃO |
---|---|---|---|---|---|
US01 | 1 | EU, enquanto cliente, desejo estar ciente das etapas do processo de desenvolvimento do produto. | 2:00 | Desenvolvimento do backlog total do produto e das Sprints. | Product Backlog e Sprint Backlog com US da primeira sprint. |
US02 | 1 | EU, enquanto cliente, desejo poder ter acesso ao registro, documentação e versionamento das etapas do processo de desenvolvimento do produto. | 2:00 | Criação do repositório no GitHub e definição de informações essenciais. | Definição de informações gerais no README com descrição clara e concisa, dentro da estrutura padronizada. |
US03 | 1 | EU, enquanto membro da equipe de desenvolvimento, desejo ter um protótipo visual e parcialmente funcional como referência para o projeto. | 1:00 | Caixas de diálogo, input e output e botões que serão utilizados na GUI do projeto. | Visualização e fundamentação de como será a aparência e dinâmica da aplicação. |
US04 | 1 | EU, enquanto usuário, desejo realizar através de uma interface gráfica o carregamento de arquivos dos quais desejo obter informações por meio do assistente virtual. | 2:00 | Desenvolver uma tela de carregamento de arquivo. | A tela de carregamento deve estar totalmente funcional, botões e acesso ao explorer. |
US05 | 1 | EU, enquanto usuário, desejo obter através de uma interface gráfica em formato de CHAT para realizar perguntas e visualizar respostas. | 1:30 | Desenvolver uma tela de chat. | A tela de chat deve estar totalmente funcional, enviando perguntas e recebendo respostas. |
US06 | 1 | EU, enquanto usuário, desejo obter respostas sobre os documentos carregados e analisados pela IA. | 1:30 | Integração da IA. | A aplicação deve estar retornando informações referente às perguntas feitas pelo usuário . |
US07 | 1 | EU, enquanto usuário administrador, desejo ter informações sobre o usuário que está utilizando a aplicação | 1:30 | Desenvolver uma tela de login. | A interface deve estar visualmente pronta. |
US08 | 1 | EU, enquanto usuário administrador, desejo poder cadastrar outros usuários através de uma interface gráfica. | 1:30 | Desenvolver uma tela de cadastros. | A interface deve estar visualmente pronta. |
US09 | 2 | EU, enquanto usuário administrador, desejo obter informações sobre o usuário atual, hora, data e nome do arquivo carregado através de uma interface gráfica | 3:00 | Desenvolver uma tela de registro de atividades. | A interface deve mostrar os dados de usuário, data, hora e nome do arquivo carregado. |
US10 | 2 | EU, enquanto usuário administrador, desejo que a aplicação tenha um banco de dados conectado para armazenamento e registros uteis à aplicação. | 4:00 | Conectar o banco de dados às interfaces. | O banco de dados deve estar conectado às interfaces e respondendo às requisições do sistema. |
US11 | 2 | EU, enquanto membro da equipe de desenvolvimento, desejo que o frontend das telas de login, cadastro, carregamento de arquivo, registro de atividades e de chat tenham uma identidade visual padronizada. | 10:00 | Padronizar a estética das interfaces gráficas. | As telas devem seguir uma identidade visual em padrão de cores, fontes e tamanho de botões. |
US12 | 2 | EU, enquanto usuário, desejo poder retornar da página de chat à pagina de carregamento de arquivo. | 00:30 | Adicionar um botão de retorno de página. | O botão de retorno deve levar o usuário da página de chat a página de carregamento de arquivos. |
US13 | 2 | EU, enquanto usuário administrador, desejo poder cadastrar usuários do sistema para registro e segurança. | 2:00 | Deixar a tela de cadastros funcional e ligada ao banco de dados. | A tela de cadastros deve estar devidamente operacional e funcional. |
US14 | 2 | EU, enquanto usuário administrador, desejo que o acesso ao sistema seja feito apenas após um login de usuário cadastrado. | 2:00 | Deixar a tela de login funcional e ligada ao banco de dados. | A tela de login deve estar devidamente operacional e funcional. |
US15 | 3 | EU, enquanto usuário, desejo obter uma melhor experiência e eficiência nas respostas geradas pela IA através do Chat. | 3:00 | Implementar códigos e métodos em java que aumentem a eficiência na tokenização do texto. | Obter respostas mais assertivas, mais longas e detalhadas. |
US16 | 3 | EU, enquanto usuário, desejo ter um botão na tela de login para recuperar a senha perdida/esquecida. | 2:45 | Implementar um botão de recuperação de senha. | Um botão funcional que leve a uma tela de recuperação de senha. |
US17 | 3 | EU, enquanto usuário, desejo ser direcionado para uma tela de recuperação de senha. | 2:00 | Criação de um frontend e backend de um sistema que enviará um e-mail com um token de confirmação. | Uma tela funcional que envie um e-mail com um token de confirmação para a recuperação de senha. |
US18 | 3 | Eu, enquanto usuário, desejo ser direcionado para uma tela de criação de nova senha. | 6:30 | Criação de frontend e backend de um sistema de inserção do token de confirmação | Uma tela funciona onde o usuário ira inserir o token e estará habilitado a criar uma nova senha. |
US19 | 3 | EU, enquanto usuário, desejo poder ocultar ou mostrar minha senha digitada no campo de texto na tela de login. | 1:00 | Alteração no frontend da tela de login para adição de um botão ocultar/mostrar senha. | Um botão funcional que oculte ou mostre a senha digitada no campo de senha na tela de login. |
US20 | 4 | EU, enquanto usuário, desejo obter respostas maiores e mais completas. | 3:00 | Modificar o código para aumentar e melhorar as respostas obtidas. | Respostas maiores e mais concisas sobre o tema do texto carregado. |
US21 | 4 | EU, enquanto usuário, desejo visualizar informações apenas do usuário logado no histórico. | 4:00 | Alterações no código e banco de dados. | Ao acessar o histórico de acessos, exibir apenas informações do usuário logado. |
US22 | 4 | EU, enquanto usuário, desejo ter um sistema de senha mais seguro. | 2:15 | Implementação de criptografia de senhas (hash). | Senhas criptografadas. |
US23 | 4 | EU, enquanto usuário, desejo que os arquivos criados pela aplicação sejam excluídos após o uso. | 1:00 | Implementação de código para exclusão de arquivos criados pela aplicação após o uso. | Exclusão dos arquivos .txt criados pela aplicação após o uso. |
US24 | 4 | EU, enquanto usuário, desejo poder enviar novas perguntas enquanto a aplicação processa outra resposta. | 1:00 | Implementação de código para uso do multithreading. | Aplicação recebendo perguntas e gerando respostas ao mesmo tempo sem travamento. |
US25 | 4 | EU, enquanto usuário, desejo ter um guia rápido para utilizar a aplicação. | 1:15 | Criação de documentação para instrução de uso da aplicação. | Documentação quickstart para auxílio na utilização da aplicação. |
Funcionais:
- Linguagem Java (Requisito Fatec);
- Aplicação Desktop Java (Requisito Fatec);
- Apresentação via Github;
Não funcionais:
- Documentação via Github;
- Linguagem de programação Java;
Requisitos :
- IntelliJ IDEA
- Java 17+
- JFX 20+
- Git
- Gradle
- Abra o cmd na pasta aonde deseja instalar o projeto
- Execute os comandos
git clone https://github.com/Byte-Boost/Duck
cd Duck
cd Backend_Duck
idea64.exe
- Vá para as configurações de Run/Debug
- Clique em Modify options
- Clique em Add VM options
- No campo agora disponivel adicione o seguinte, modificando PATH_TO_JAVAFX/lib com o caminho da pasta lib dentro do diretorio do JavaFX local.
Warning
Não se esqueça de colocar o caminho entre aspas.
--module-path PATH_TO_JAVAFX/lib --add-modules javafx.swing,javafx.graphics,javafx.fxml,javafx.media,javafx.controls
- Configure um arquivo config.properties, seguindo o modelo configDEV.properties
API_KEY = API key
DB_USER = Database User
DB_PASS = Database Password
EMAIL_USER = [email protected]
EMAIL_PASS = Your Gmail App Password
- Rode o projeto através do IntelliJ