Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Repository where we are adding the versions of the API (Integrated Project-Based Learning) project that we developed in the 5th Semester of DSM, at Fatec in SJC, SP.

Notifications You must be signed in to change notification settings

BananaScripts/API_5-Semester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


API 2025.1 - Banana Script

SobreFerramentas e TecnologiasEntregasBacklogs e User StoriesDocumentaçãoEquipe

👋Hello! Nós somos o grupo BananaScript

Nós somos estudantes da FATEC de São José dos Campos e estamos no 5º semestre de Desenvolvimento de Software e multiplataformas.

Sobre o projeto:

Atualmente, empresas de tecnologia enfrentam desafios na disseminação de conhecimento sobre seus próprios produtos, sistemas e processos internos. Muitas vezes, usuários internos e clientes precisam de suporte para entender funcionalidades de sistemas, regras de negócio ou fluxos operacionais. No entanto, centralizar esse conhecimento em poucos especialistas pode gerar gargalos e atrasos nas respostas.

Pensando nisso, este projeto tem como objetivo o desenvolvimento de uma plataforma de criação e gerenciamento de agentes de Inteligência Artificial. A ferramenta permitirá que administradores criem múltiplos agentes virtuais personalizados, treinados para responder dúvidas específicas sobre diferentes sistemas e processos internos da empresa. Além disso, a solução deve contar com um sistema de permissões, onde cada usuário terá acesso apenas aos agentes aos quais foi autorizado.

Os alunos deverão desenvolver um aplicativo móvel que possibilite a interação com esses agentes por meio de um chat inteligente, garantindo que cada usuário visualize apenas as conversas e respostas dos agentes aos quais possui permissão de acesso. A aplicação deve ser integrada a um banco de dados na nuvem para armazenamento das interações e permitir o gerenciamento eficiente dos agentes e permissões.

Apresentação do problema:

Desenvolvimento de uma Plataforma Móvel para Criação e Gerenciamento de Agentes de Inteligência Artificial para Atendimento Interno


🎥 Demonstração do Projeto

Assista no YouTube


Link dos repositórios

Link do repositório do Front-end: https://github.com/BananaScripts/API_5-Semester-Frontend

Link do repositório do Back-end: https://github.com/BananaScripts/API_5-Semester-Backend

Status do projeto: Finalizado


Ferramentas e Tecnologias⚒️

My Skills



My Skills


Entregas✅

Período Data Status
Kickoff 25.02.2025 - 07.03.2025
Sprint 01 10.03.2025 - 30.03.2025
Sprint Review 31.03.2025 - 04.04.2025
Sprint 02 07.04.2025 - 27.04.2025
Sprint Review 28.04.2025 - 02.05.2025
Sprint 03 05.05.2025 - 25.05.2025
Feira de Soluções 17.05.2025

MVPs (Minimum Viable Product)

Sprint 01 | 10.03 - 30.03

Desenvolvimento da Aplicação Móvel com Chat (Sem os Agentes Implementados)


Sprint 02 | 07.04 - 27.04

Desenvolvimento e Implementação do Sistema de Criação e Gerenciamento dos Agentes de IA


Sprint 03 | 05.05 - 25.05

Desenvolviemnto dos Dashboards e do Histórico, além do Aprimoramento dos Agentes de IA


Requisitos

Requisitos Funcionais

ID Requisitos Funcionais Prioridade
RF_1 Permitir o cadastro de agentes de IA com conteúdos personalizados (ex.: um agente para responder dúvidas sobre um sistema de RH, outro para um ERP, etc.) 2
RF_2 Implementar um sistema de chat, onde os usuários possam interagir com os agentes para esclarecer dúvidas 1
RF_3 Criar um sistema de permissões, onde o administrador possa definir quais agentes cada usuário pode acessar 1
RF_4 Armazenar o histórico de interações entre usuários e agentes em um banco de dados na nuvem 3
RF_5 Desenvolver um dashboard administrativo para gerenciar os agentes, permissões e visualizar estatísticas de uso 3

Requisitos Não Funcionais

ID Requisitos Não Funcionais
RNF_1 Utilizar ReactNative ou Flutter para o desenvolvimento do aplicativo móvel.
RNF_2 Implementar a persistência de dados em um banco de dados compatível (MySQL, MongoDB, Oracle, etc.).
RNF_3 Assegurar um tempo de resposta adequado para as interações no chat.
RNF_4 Criar uma documentação técnica com instruções de instalação, uso e estrutura da API.
RNF_5 Proporcionar uma experiência fluida ao usuário, com interações naturais e rápidas.
RNF_6 Possuir uma interface intuitiva e acessível.

Product Backlog 📖

ID Requsitos Item Prioridade
BCK_1 RNF_1, RNF_5, RNF_6 Estrutura do Aplicativo Móvel. 1
BCK_2 RNF_2 Implementação do Aplicativo e seus Serviços em Nuvem ( Cloud Service). 3
BCK_3 RNF_4 Definição e Aplicação dos Padrões de DevOps Definidos. 1
BCK_4 RF_2 Sistema de Chat entre um Usuário e um Agente de IA ( WebSocket Gateway). 1
BCK_5 RF_5 Sistema de Gerenciamento de Usuários ( Agent Management Service). 1
BCK_6 RF_5 Sistema de Login e Autenticação ( Auth Service). 1
BCK_7 RF_5 Sistema de Gerenciamento de Agentes de IAs ( Agent Management Service). 2
BCK_8 RF_1, RNF_3 Sistema de Configuração e criação de Agentes de IA ( AI Processing Service). 2
BCK_9 RF_3 Sistema de Permissão de Usuários e Agentes de IA ( Agent Management Service ). 2
BCK_10 RF_4 Sistema de Histórico dos Chats (Redis) 3
BCK_11 RF_5 Sistema de Dashboards dos Chats (Dashboards Administrativos) 3

User Stories 📖

ID dos Requisitos ID Product Backlog User Stories
RF_3, RF_5 BCK_6, BCK_9 Eu, enquanto usuário do sistema, quero poder acessar uma conta já criada pelo administrador por meio do e-mail e senha.
RNF_1, RNF_2, RNF_5, RNF_6, RF_2 BCK_1, BCK_2, BCK_4 Eu, enquanto usuário comum do sistema, quero poder ter acesso á aplicação e buscar chats onde posso buscar as respostas que preciso.
RF_2 BCK_4 Eu, enquanto usuário comum do sistema, quero poder acessar varias opções de chat, com vários contextos diferentes, onde poderei descobrir oque preciso por meio da conversa com um Agente.
RF_2 BCK_4 Eu, enquanto usuário comum do sistema, quero poder ter uma conversa normal, eficiente e rápida com um Agente.
RF_5 BCK_10 Eu, enquanto usuário comum do sistema, quero poder acessar o histórico das conversas que já tive com os Agentes de IA.
RF_3, RF_5 BCK_6, BCK_9 Eu, enquanto usuário comum, quero poder ter acesso a chats com informações internas a empresa, de acordo com meu nível de privilégio.
RF_1 BCK_8 Eu, enquanto curador, quero poder configurar novos e alterar antigos agentes.
RF_1 BCK_8 Eu, enquanto curador, quero poder categorizar os Agentes de forma individual.
RF_5 BCK_5, BCK_7 Eu, enquanto administrador, quero poder gerenciar (criar, deletar e alterar) usuários e poder além e tudo, configurar Agentes.
RF_3 BCK_9 Eu, enquanto administrador, quero poder definir e remover permissões de usuários cadastrados e Agentes.
RF_5 BCK_11 Eu, enquanto administrador, quero poder ter acesso a dashboards com estatísticas de uso das conversas entre os usuários e Agentes.

Tarefas das Sprints

Sprint 01 | 10.03 - 30.03

ID ID do Jira ID do Backlog Titulo Descrição
1 Scrum-10 BCK_1 (Frontend) Desenvolvimento da Estrutura do Aplicativo Desenvolver a estrutura do aplicativo, ou seja, criar o projeto e desenvolver a barra de navegação funcional, além de iniciar a aplicação react.
2 Scrum-11 BCK_4 (Frontend) Desenvolvimento da Interface do Chat Desenvolver a interface do chat, de forma que o chat permaneça estilizado durante a conversa.
3 Scrum-12 BCK_5 (Frontend) Desenvolvimento da Interface dos Administradores Desenvolver a interface de gerenciamento dos usuários, com as funcionalidades de um CRUD padrão.
4 Scrum-13 BCK_6 (Frontend) Desenvolvimento da Interface de Login Desenvolver a interface de login junto do acesso á essa interface.
5 Scrum-14 BCK_5 (Frontend) Implementação do Sistema de Gerenciamento de Usuários Implementar sistema de gerenciamento de usuários desenvolvido no backend á interface do administrador.
6 Scrum-15 BCK_6 (Frontend) Impelmentação do Sistema de Autenticação Implementar sistema de autenticação, incluindo a criação de token, á interface do login.
7 Scrum-16 BCK_4 (Frontend) Implementação do Chat Implementar Chat sem os agentes de IA presente no backend na interface do chat.
8 Scrum-18 BCK_5 (Backend) Desenvolvimento do Sistema de Gerenciamento de Usuários Desenvolver sistema que faz um CRUD padrão na entidade de usuários.
9 Scrum-19 BCK_6 (Backend) Desenvolvimento do Sistema de Autenticação Desenvolviemnto do sistema de autenticação que será implementado no sistema.
10 Scrum-20 BCK_4 (Backend) Desenvolvimento do Chat Desenvolvimento de um sistema que permita a conversa entre um usuário e um agente
11 Scrum-21 BCK_2 (Backend) Desenvolvimento do Banco de Dados Desenvolvimento do banco de dados do sistema e conexão com os serviços do Backend.
12 Scrum-22 BCK_8 (Backend) Estudo Sobre Agentes de IA e suas Ferramentas Estudos necessários para a próxima Sprint sobre o desenvolvimento de Agentes que supram as necessidades do cliente.
13 Scrum-23 BCK_1 (Backend) Desenvolvimento e Organização da base do Backend Inicialização da aplicação em C# e organização dos serviços e sistemas do Backend
14 Scrum-25 BCK_3 (Geral) Definição de Padrões DevOps do Projeto Definição dos padrões do projeto que serão seguidos nessa e nas próximas sprints.

Sprint 02 | 07.04 - 27.04

ID ID do Jira ID do Backlog Titulo Descrição
1 Scrum-28 BCK_7 (Frontend) Desenvolvimento da interface dos Curadores Desenvolvimento de uma interface que permmita que o curador possa gerenciar (criar, editar, alterar, ver e configurar o conteudo) dos Agentes já criados ou ao criar um novo. (Essa interface deve ser adicionada também na interface do Administrador como uma de suas funcionalidades.).
2 Scrum-29 BCK_9 (Frontend) Desenvolver a interface de gerenciamento de Permissões de usuários e Agentes. Desenvolver uma interface que permita definir quais usuários poderão conversar com quais Agentes, baseados em um sistema de permissão próprio nosso ou nos padrões de mercado. (As permissões não devem afetar usuários com privilégios de curadores ou administradores, apenas usuários "comuns"/ cadastrados.)
3 Scrum-30 BCK_9 (Frontend) Aprimorar interface do Administrador, implementando a interface de um curador e a interface de permissões Implementar na já criada interface do Administrador, duas interfaces desenvolvidas em outras Tasks como funcionalidades do Administrador.
4 Scrum-31 BCK_1 (Frontend) Aprimorar Sistema de Login, alterando as interfaces baseadas nos privilégios. Aprimorar base do sistema e o sistema de Login, permitindo que usuários Administradores e Curadores possuam interfaces diferentes em um mesmo espaço, permitindo que cada um tenha as suas funcionalidades correspondente.
5 Scrum-32 BCK_1 (Frontend) Aprimotar as interfaces já criadas Implementando os Agentes, inserindo mecanismos de busca por nome e categoria. Implementar Agentes nas interfaces de escolha, dando a possibilidade de filtrar os agentes em mecanismos de busca por nome do agente, categoria/ área e criadas por último.
6 Scrum-33 BCK_4 (Frontend) Aprimorar o chat, implementando os Agentes, permitindo a conversa do sistema com o usuário. Implementar sistema de envio e recebimento de mensagens no frontend, mantendo a consistencia entre os agentes e usuários.
7 Scrum-34 BCK_7 (Frontend) Implementar o Sistema de Gerenciador dos Curadores em sua Interface. Implementar sistema que permite gerenciar (criar, editar, alterar, ver e configurar o conteudo) os Agentes, além de também possuir a interface gerenciadora de permissões.
8 Scrum-35 BCK_9 (Backend) Desenvolvimento de Sistema de Permissões relacionado á Usuários e Agentes Desenvolver um sistema que permita categorizar os usuários comuns e os Agentes por meio de niveis de permissão, onde o maior pode ver os menores, mas eles não podem visualizar/ conversar com algo superior á seu nivel de permissão.
9 Scrum-36 BCK_7 (Backend) Enfileiramento de Mensagens no Redis. Implementar em conjunto com os Agentes, o enfileiramento de mensagens, via o Redis, permitindo o recebimento de mensagens na ordem correta
10 Scrum-37 BCK_8 (Backend) Implemtnação dos Agentes no Chat. Alterar o sistema de chat, implementando os Agentes na geração de respostas.
11 Scrum-38 BCK_9 (Backend) Desenvolver sistema de Gerenciamento dos Agentes Desenvolver sistema que o usuário Curador usará para criar, deletar, alterar, ver e definir o conteúdo dos Agentes.
12 Scrum-39 BCK_8 (Backend) Desenvolvimento e Aplicação da LLM no Sistema. Desenvolver e aplicar nos agentes a LLM. Inserindo as IAs no sistema.

Sprint 03 | 05.05 - 25.05

ID ID do Jira ID do Backlog Titulo Descrição
1 Scrum-40 BCK_11 (Frontend) Desenvolvimento do Dashboard Administrativo Desenvolver interface de dashboard com gráficos e estatísticas de uso dos agentes (interações por período, agentes mais acessados, etc).
2 Scrum-41 BCK_11 (Backend) Implementação de Endpoints para Coleta de Dados do Dashboard Criar endpoints para fornecer dados estatísticos necessários para o dashboard (métricas de uso, histórico de conversas, etc).
3 Scrum-42 BCK_10 (Frontend) Implementação da Interface de Histórico de Chats Desenvolver interface que permita visualizar o histórico completo de conversas do usuário com filtros por data e agente.
4 Scrum-43 BCK_10 (Backend) Integração do Redis para Armazenamento de Histórico Implementar sistema de persistência do histórico de conversas utilizando Redis e integração com o banco principal.
5 Scrum-44 BCK_9 (Backend) Refatoração do Sistema de Permissões Aprimorar a arquitetura de permissões com hierarquia flexível, logs de alterações e integração com novos módulos.
6 Scrum-45 BCK_2 (DevOps) Implementação de Deploy na AWS Configurar ambiente na AWS (EC2, RDS, Elasticache) e realizar deploy das aplicações com balanceamento de carga.
7 Scrum-46 BCK_3 (DevOps) Configuração de Pipeline CI/CD Implementar pipeline automatizado com testes, build e deploy utilizando GitHub Actions e Docker.
8 Scrum-47 BCK_9 (Frontend) Implementação do Sistema de Permissões no Frontend Adaptar a interface para refletir as permissões do usuário, bloqueando acesso a agentes não autorizados e garantindo sincronia com as regras do backend.
9 Scrum-48 BCK_8 (Backend) Aprimoramento do Sistema de Configuração de Agentes com Suporte a Arquivos Permitir upload de arquivos (PDFs, documentos) durante a configuração dos agentes para enriquecer o conhecimento da IA.
10 Scrum-49 BCK_7 (Frontend) Ajustes na Tela de Cadastro/Edição de Agentes e Implementação de Anexos Atualizar a interface de criação/edição de agentes para incluir upload de arquivos e melhorar a usabilidade do formulário.
11 Scrum-50 BCK_3 (Backend) Implementação de Testes de Integração Desenvolver testes de integração para validar funcionalidades críticas (autenticação, permissões, chat) e garantir estabilidade do sistema.
12 Scrum-51 BCK_3 (DevOps) Integração de Testes Automatizados no Pipeline CI/CD Adicionar etapa de execução de testes automatizados (frontend e backend) no pipeline CI/CD para validação pré-deploy.
13 Scrum-52 BCK_8 (Backend) Migração para o Google Gemini como Provedor de IA Substituir a LLM atual (DeepSeek) pelo Gemini, adaptando processamento de prompts e integracao com API.
14 Scrum-53 BCK_7 (Frontend) Correção da interface de cadastro/Edição de Agentes Ajustar formulários com campos obrigatórios, validação e organizacao intuitiva dos inputs.

DoD e DoR

DoR (Definition of Ready) DoD (Definition of Done)
As Tasks e as User Stories devem estar claras e possuirem uma descrição. A funcionalidade deve ter sido aplicada na branch development via Pull request
A interface ou sistema a ser feito deve ser apresentado pelo protótipo ou pela arquitetura na Task. A funcionalidade deve estar implementada em conjunto ao resto do sistema.
Oque é necessário para o desenvolvimento da Task já deve estar completo ou sendo finalizado. A funcionalidade que será implementada não deve interromper outra já desenvolvida.

Documentação📄

📑Link para a Documentação do projeto:

📂/Documentação do projeto

Diagrama de Sequencia


Arquitetura do Projeto


Rotas

Todas as rotas estão documentadas no swagger, aqui está o link: localhost:/swagger

Equipe👨‍💻:

Nome LinkedIn Github
Bruno Fernandes
Douglas Medeiros
Kaue Riki
Miguel Conde
Antonio Alexandre

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

Curso: Desenvolvimento de Software Multiplataforma/5º Semestre


[Voltar ao início]

About

Repository where we are adding the versions of the API (Integrated Project-Based Learning) project that we developed in the 5th Semester of DSM, at Fatec in SJC, SP.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •