Closed tiaobraw closed 2 years ago
Caros times de @Engenharia-de-Software-UFRPE/joyce-e-cia e @Engenharia-de-Software-UFRPE/mavericks-backend, eu verifiquei que algumas alterações envolvem funcionalidades de Administrador e Analista. Vocês poderiam me ajudar a revisar as suas respectivas funcionalidades que foram afetadas.
@Engenharia-de-Software-UFRPE/joyces-frontend consertei o bug de solicitação de análise, mas não pude deixar de notar que aconteceu um erro por aqui quando acesso a tela de Admin. Gostaria que vocês pudessem apurar esse problema, visto que não consegui entender o erro.
Creio que vocês estiveram com um problema relacionado, sei que está relacionado com o fato de existir uma Solicitação de Análise aguardando avaliação de um administrador para ser aprovado.
Alguns de nossos arquivos (que dizem respeito ao analista) foram alterados, gostariamos de saber o porque dessas alterações e como elas afetam as telas de empresa de um modo geral. Gostariamos de saber também o motivo de ter uma pasta chamada registration com um arquivo chamado COntainerRegistration.js e qual o intuito deste arquivo.
@multi-megaman
Todas as alterações nos componentes do analista foram por conta de seletores no css, que causavam problemas em outras telas. Para resolver isso foram utilizados containers para deixar os seletores mais específicos. Com relação ao arquivo chamado ContainerRegistration.js
, nenhuma das nossas telas utiliza esse componente então ele provavelmente foi puxado da main anteriormente.
@Igor212 vou avaliar assim que possível, pelo que vi, provavelmente já devo levar para a main.
Muito Obrigado!
Nessa Pull Request implementamos as funcionalidades referentes as telas das análises, integração back/front, assinatura de pacote de serviços, entre outras funcionalidades descritas abaixo.
Problemas
Front-end
Integração dos componentes do Front-end
Para que a integração do Front-end das três equipes ocorra sem problemas, é necessário que os seletores no css estejam especificando apenas os componentes que o importam, pois caso contrário, alterações no css de um componente podem alterar componentes que já estão finalizados.
Implementação da tela de análises no Front-end
Para que a empresa logada possa visualizar todas suas análises realizadas e ter acesso a funções como solicitação de reanálise, é necessária a implementação de uma tela no Front-end
Implementação da tela de alterar cadastro no Front-end
Para que a empresa logada possa alterar seus dados cadastrados é necessária a implementação de uma tela no Front-end
Implementação do pop-up de confirmação de pagamento
Para que a empresa logada assine um pacote, é necessária a implementação de um pop-up que solicite o preechimento de alguns campos para confirmação do pagamento
Responsividade das telas no Front-end
Para que o sistema seja acessível em diversas resoluções diferentes, é necessária a implementação da responsividade das telas no Front-end
Front-end e Back-end
Integração do Front-end com o Back-end da tela de cadastro
Para que o cadastro de empresas no sistema funcione corretamente, é necessário que a tela de cadastro no Front-end realize uma requisição Http ao Back-end, para que este mesmo adicione uma nova empresa ao banco de dados .
Back-end
Implementação de funções para listar análises da empresa logada
Para que a empresa logada tenha acesso a todas suas análises e tenha possibilidade de filtra-las por alguns atributos, é necessária a implementação de funções no Back-end
Implementação de função que retorna a empresa logada
Para que a empresa logada tenha acesso aos seus dados após o login ter sido realizado, é necessária a implementação de uma função no Back-end
Implementação da assinatura de pacotes
Implementação da função de solicitação de reanálise
Implementação
Front-end
Integração dos componentes do Front-end
No arquivo
ContainerAdm.js
a div que engloba todos os elementos foi nomeada "admBoard-container" e, no arquivoContainerAdm.css
antes de cada seletor foi adicionado o nome dessa div.Nos arquivos
DadosDaAnalise.js
,TelaQuestionario.js
,analisesDaEmpresa.js
elistaDeAnaliseEmpresa.js
a div que engloba todos os elementos foi nomeada "requestListArea" e, nos seus respectivos arquivos css, antes de cada seletor foi adicionado o nome dessa div.Implementação da tela de análises no Front-end
Foram criados os arquivos
CompanyAnalyzesFiltersSection.js
,CompanyAnalyzes.js
e seus respectivos arquivos css. Essa tela apresenta todas as análises prontas da empresa logada e possui opções de filtros para as análises exibidas.Implementação da tela de alterar cadastro no Front-end
Foram criados os arquivos
CompanyProfileChange.js
ecompany-profile-changes.css
. Essa tela possui possui campos para alterar os dados cadastrados e botões de confirmar e cancelarImplementação do pop-up de confirmação de pagamento
Foram criados os arquivos
CompanyPaymentForm.js
ecompany-payment-form.css
. Este pop-up é aberto ao clicar em um dos botões de "assine agora" na tela de contratar serviços, o mesmo possui os campos CNPJ e serviço e, os botões de confirmar e cancelarResponsividade das telas no Front-end
Foram adicionadas media queries ao css de cada componente da empresa, conforme o comportamento observado em cada resolução.
Front-end e Back-end
Integração do Front-end com o Back-end da tela de cadastro
O Front-end envia uma objeto no formato JSON ao Back-end por meio de uma requisição do tipo POST, o Back-end carrega o JSON da requisição e cria um usuário Empresa caso o username, email e CNPJ ainda não tenham sido utilizados por nenhum outro usuário cadastrado.
Back-end
Implementação de funções para listar análises da empresa logada
listar_analises_empresa
: lista todas as análises da empresa logadalistar_analises_empresa_data
: lista todas as análises da empresa logada de forma cronológicalistar_analises_passiveis_reanalise
: lista todas as análises em que o boolean reanalyzed é FalseImplementação de função que retorne a empresa logada
get_logged_empresa
: retorna os dados da empresa logadaImplementação da assinatura de pacotes
A primeira ideia implementada havia sido a de um objeto PacoteAnalise, que guardaria um atributo correspondente para a escolha dos tipos de pacote, sendo eles
MONTHLY
,BIANNUAL
eYEARLY
. Por razões de praticidade, resolvemos apenas adicionar o atributopackage
ao model Empresa, contendo os tipos de pacote, junto com a adição de uma quarta escolha,NOPACK
, que será o padrão inicializado logo após o cadastro.Implementação da função de solicitação de reanálise
Como Testar
Front-end
Todas as telas podem ser testadas acessando sua url associada, a responsividade pode ser testada por meio das ferramentas de desenvolvedor do navegador e, o pop-up de confirmação de pagamento pode ser testado ao clicar em um dos botões de "assine agora" na tela de contratar serviços.
Front-end e Back-end
Para o cadastro ser testado basta acessar o link (http://127.0.0.1:3000/companyRegistration) com os servidores do Front-end e Back-end ativos, preencher os campos necessários e confirmar o cadastro, se o username, email e CNPJ ainda não tiverem sido cadastrados no sistema, o sistema irá exibir um alerta de confirmação de cadastro.
Para verificar ser a empresa foi cadastrada no banco de dados pode ser utilizada a página de administrador do Django ou o link (http://127.0.0.1:8000/empresas)
Back-end
Notas do desenvolvedor
Objetivos