Giter VIP home page Giter VIP logo

diogolcarvalho / spring-boot-api-rest Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fernandasena07/grupox

2.0 0.0 0.0 43.72 MB

šŸ“‚ Projeto interdisciplinar realizado no terceiro semestre na FATEC ZL. A aplicaĆ§Ć£o Ć© uma API Rest feita em JAVA, utilizando o framework Spring Boot. O projeto foi desenvolvido seguindo uma arquitetura SOLID e o padrĆ£o de projeto utilizado foi o MVC.

Java 99.77% Dockerfile 0.23%
api-rest backend java mvc-architecture spring-boot

spring-boot-api-rest's Introduction

Fatec ZL - Centro Paula Souza

Disciplina - ProgramaĆ§Ć£o Web III

Grupo CPDev

Processo de Desenvolvimento de Software - PDS

O PDS segue uma abordagem mista entre modelo cascata e modelo interativo-incremental adaptada do Scrum. Cada interaĆ§Ć£o durava uma semana e tinha encontros semanais. A definiĆ§Ć£o de pronto de cada interaĆ§Ć£o era estabelecida com objetivo de controlar a qualidade do desenvolvimento.
Como padrĆ£o de projeto, foi utilizado o MVC (Model-View-Controller).
A aplicaĆ§Ć£o foi construĆ­da com base nos princĆ­pios SOLID.

Estudo de Caso ā€“ SOCIELOO

No contexto do projeto interdisciplinar o estudo de caso tem como objetivo desenvolver e implantar o SOCIELOO, um site centralizador de ONGs, instituiƧƵes e projetos sociais da cidade de SĆ£o Paulo, com o propĆ³sito de divulgĆ”-las a possĆ­veis doadores e voluntĆ”rios e criar, assim, um ELO entre ONGs e a sociedade. O diferencial do site Ć© a maior flexibilidade do usuĆ”rio para a escolha de Projetos sociais com a localizaĆ§Ć£o e segmento de sua preferĆŖncia, podendo favoritar, analisar e avaliar cada projeto.
O site foi concebido com a proposta de atender aos Objetivos de Desenvolvimento SustentƔvel (ODS), da ONU.

Levantamento de Requisitos
Identificador DescriĆ§Ć£o Prioridade
REQ01 ā€“ Cadastrar ONGs/InstituiƧƵes/Projetos Sociais Como ā€“ ONG/InstituiĆ§Ć£o/Projeto Social;
Eu quero ā€“ Cadastrar no site a aĆ§Ć£o social no site;
De maneira que ā€“ Seja possĆ­vel criar um perfil prĆ³prio para o projeto (PĆ”gina de ONG).
Alta
REQ02 ā€“ Consultar ONGs/InstituiƧƵes/Projetos Sociais Como ā€“ UsuĆ”rio;
Eu quero ā€“ Consultar uma ONGĀ“s/InstituiƧƵes/Projetos Sociais;
De maneira que ā€“ Seja possĆ­vel obter informaƧƵes sobre a ONGĀ“s/InstituiƧƵes/Projetos Sociais como descriĆ§Ć£o textual, sua histĆ³ria, imagens, informaƧƵes de contato e de doaĆ§Ć£o e mapa de localizaĆ§Ć£o.
Alta
REQ03 ā€“ Atualizar ONGs/InstituiƧƵes/Projetos Sociais Como ā€“ ONGĀ“s/InstituiƧƵes/Projetos Sociais;
Eu quero ā€“ Alterar os dados da ONG/InstituiĆ§Ć£o/Projeto Social;
De maneira que ā€“ Seja possĆ­vel atualizar informaƧƵes de ONG/InstituiĆ§Ć£o/Projeto Social, nos casos de mudanƧas de endereƧo, informaƧƵes de contato, imagens e localizaĆ§Ć£o.
MĆ©dia
REQ04 ā€“ Excluir ONGs/InstituiƧƵes/Projetos Sociais Como ā€“ ONG/InstituiĆ§Ć£o/Projeto Social OU Moderador/Administrador;
Eu quero (se ONG/InstituiĆ§Ć£o/Projeto Social) ā€“ Excluir meu cadastro e minha PĆ”gina de ONG do site;
De maneira que ā€“ Meus dados nĆ£o sejam mais divulgados pelo site.
Eu quero (se Moderador/Administrador) ā€“ Excluir o cadastro de uma ONG e sua PĆ”gina de ONG do site;
De maneira que ā€“ As informaƧƵes publicadas por aquele projeto nĆ£o estivessem mais disponĆ­veis no site.
MĆ©dia
REQ05 ā€“ Cadastrar UsuĆ”rio Como ā€“ UsuĆ”rio;
Eu quero ā€“ Fazer um cadastro de usuĆ”rio no site;
De maneira que ā€“ Seja possĆ­vel criar um perfil prĆ³prio para favoritar ONGā€™s por segmento e regiĆ£o, avaliar ONGā€™s e preencher formulĆ”rios de ONGā€™s.
Alta
REQ06 ā€“ Consultar UsuĆ”rio Como ā€“ ONG/InstituiĆ§Ć£o/Projeto Social OU Moderador/Administrador;
Eu quero ā€“ Consultar o perfil de um usuĆ”rio;
De maneira que ā€“ Seja possĆ­vel obter informaƧƵes sobre o usuĆ”rio e bloquear ou excluir o seu perfil, se necessĆ”rio.
Baixa
REQ07 ā€“ Atualizar UsuĆ”rio Como ā€“ UsuĆ”rio;
Eu quero ā€“ Alterar seus dados de UsuĆ”rio;
De maneira que ā€“ Seja possĆ­vel atualizar informaƧƵes de usuĆ”rio.
MĆ©dia
REQ08 ā€“ Excluir UsuĆ”rio Como ā€“ UsuĆ”rio OU Moderador/Administrador;
Eu quero (se UsuĆ”rio) ā€“ Excluir meu cadastro e meu perfil de usuĆ”rio;
De maneira que ā€“ Meus dados nĆ£o sejam mais divulgados pelo site.
Eu quero (se Moderador/Administrador) ā€“ Excluir o cadastro de um usuĆ”rio do site;
De maneira que ā€“ As informaƧƵes daquele usuĆ”rio nĆ£o estiverem mais disponĆ­veis no site.
MĆ©dia
REQ09 ā€“ Login de ONGs e usuĆ”rios Como ā€“ UsuĆ”rio;
Eu quero ā€“ Fazer doaƧƵes, pesquisar aƧƵes sociais, avaliar e comentar;
De maneira que ā€“ Possa consultar e atualizar o perfil de usuĆ”rio.
Alta
REQ10 ā€“ Fazer AvaliƧƵes Como ā€“ UsuĆ”rio;
Eu quero ā€“ Escrever comentĆ”rios;
De maneira que ā€“ Seja possĆ­vel criar comentĆ”rios em perfis de ONGs.
MĆ©dia
REQ11 ā€“ Excluir AvaliaƧƵes Como ā€“ Moderador;
Eu quero ā€“ Excluir comentĆ”rios;
De maneira que ā€“ Possa retirar comentĆ”rios ofensivos e ou de conteĆŗdo imprĆ³prio.
MĆ©dia
Casos de teste
Identificador CenƔrio de uso
REQ01CT01 Dado que ā€“ A ONG/InstituiĆ§Ć£o/Projeto social nĆ£o estĆ” cadastrada;
Quando ā€“ O usuĆ”rio solicitar cadastro de aĆ§Ć£o social;
EntĆ£o ā€“ O sistema envia os dados cadastrais para a aprovaĆ§Ć£o do moderador. Se as informaƧƵes estiverem completas e os dados checarem, Ć© enviada uma mensagem para a ONG indicando que o cadastro foi concluĆ­do com sucesso e a ONG recebe uma PĆ”gina de ONG publicada no site.
REQ01CT02 Dado que ā€“ A ONG/InstituiĆ§Ć£o/Projeto social nĆ£o estĆ” cadastrada;
Quando ā€“ O usuĆ”rio solicitar cadastro de aĆ§Ć£o social;
EntĆ£o ā€“ O sistema envia os dados de cadastro para a aprovaĆ§Ć£o do moderador. Se houver informaƧƵes faltando e/ou incongruentes, o moderador veta o cadastro e a publicaĆ§Ć£o da PĆ”gina de ONG. Ɖ enviada uma mensagem, para a ONG, informando quais dados faltam e/ou apresentam incongruĆŖncias e solicitando sua correĆ§Ć£o, para posterior avaliaĆ§Ć£o.
REQ02CT01 Dado que ā€“ A ONG/InstituiĆ§Ć£o/Projeto Social CNPJ estĆ” cadastrado;
Quando - o usuƔrio solicitar uma consulta pelo CNPJ;
EntĆ£o ā€“ o sistema apresenta os detalhes da ONGĀ“s/InstituiƧƵes/Projetos Sociais cadastrado
REQ03CT01 Dado que ā€“ A ONG/InstituiĆ§Ć£o/Projeto Social;
Quando ā€“ Quer alterar seus dados de ONG/InstituiĆ§Ć£o/Projeto Social;
EntĆ£o ā€“ O sistema envia uma mensagem para a ONG/InstituiĆ§Ć£o/Projeto Social comunicando que os dados foram atualizados
REQ03CT02 Dado que ā€“ A ONG/InstituiĆ§Ć£o/Projeto Social;
Quando ā€“ Quer alterar seus dados de ONG/InstituiĆ§Ć£o/Projeto Social;
EntĆ£o ā€“ O sistema envia uma mensagem para a ONG/InstituiĆ§Ć£o/Projeto Social comunicando que houve uma falha na tentativa de atualizar os dados cadastrais
REQ04CT01 Dado que ā€“ A ONG foi excluĆ­da do site;
Quando (ONG/InstituiĆ§Ć£o/Projeto Social) ā€“ tiver solicitado a remoĆ§Ć£o de cadastro;
EntĆ£o ā€“ A ONG Ć© informada, via mensagem pop-up, de que seu cadastro foi excluĆ­do com sucesso;
Quando (Moderador/Administrador) ā€“ tiver optado por remover o cadastro de uma ONG;
EntĆ£o ā€“ A ONG recebe uma notificaĆ§Ć£o, via e-mail, de que seu cadastro foi removido do site, informando o devido motivo da exclusĆ£o
REQ05CT01 Dado que ā€“ O usuĆ”rio nĆ£o estĆ” cadastrado;
Quando ā€“ O usuĆ”rio solicitar o cadastro de doador;
EntĆ£o ā€“ O sistema envia uma mensagem de cadastro concluĆ­do com sucesso
REQ05CT02 Dado que ā€“ O usuĆ”rio nĆ£o estĆ” cadastrado;
Quando ā€“ O usuĆ”rio cadastrar o e-mail com o cĆ³digo de validaĆ§Ć£o errado;
EntĆ£o - O sistema nĆ£o validarĆ” o cadastro e mostrarĆ” uma mensagem de erro
REQ06CT01 Dado que ā€“ O usuĆ”rio de nome estĆ” cadastrado;
Quando - o usuƔrio solicitar uma consulta pelo NOME;
EntĆ£o ā€“ o sistema apresenta os detalhes do usuĆ”rio cadastrado
REQ07CT01 Dado que ā€“ O usuĆ”rio;
Quando ā€“ Quer alterar seus dados de UsuĆ”rio;
EntĆ£o ā€“ O sistema envia uma mensagem para o usuĆ”rio comunicando que os dados foram atualizados.
REQ07CT02 Dado que ā€“ O usuĆ”rio;
Quando ā€“ Quer alterar seus dados de Usuario;
EntĆ£o ā€“ O sistema envia uma mensagem para o usuĆ”rio comunicando que houve uma falha na tentativa de atualizar os dados cadastrais
REQ08CT01 Dado que ā€“ O usuĆ”rio foi excluĆ­do do site;
Quando (ONG/InstituiĆ§Ć£o/Projeto Social) ā€“ tiver solicitado a remoĆ§Ć£o de cadastro;
EntĆ£o ā€“ O usuĆ”rio recebe uma notificaĆ§Ć£o, via e-mail, de que seu cadastro foi removido do site.
REQ13CT01 Dado que ā€“ o usuĆ”rio estĆ” cadastrado;
Quando - Inserir a opĆ§Ć£o de ā€œEsqueci a senhaā€;
EntĆ£o- Sistema envia um link para redefiniĆ§Ć£o de senha no e-mail cadastrado
REQ14CT01 Dado que ā€“ o usuĆ”rio nĆ£o esteja logado;
Quando ā€“ For escrever um comentĆ”rio;
EntĆ£o - O sistema irĆ” pedir para que faƧa o login ou cadastre uma conta para comentar.
Product Backlog
ID MĆ³dulo Como... Eu quero... Para que... Prioridade Sprint Status
1 Cadastro ONG Poder cadastrar minha ONG no site, atravƩs de informaƧƵes como: CNAE, nome, e-mail e senha Eu possa ter minha PƔgina de ONG no site, descrever minha ONG e mostrar para as pessoas como ajudar minha causa. Alta 1 Concluƭdo
2 Cadastro UuƔrio Fazer um cadastro com meu nome, e-mail e senha Eu possa acessar as pƔginas de Ongs para saber mais sobre suas causas, escolher as que mais me interessam e ver como posso ajudar. Alta 4 Concluƭdo
3 Cadastro Administrador Fazer meu cadastro em uma pĆ”gina a parte do site, especĆ­fica para funcionĆ”rio, com o meu nĆŗmero de registro, nome, e-mail e senha Eu possa ter acesso aos dados e cĆ³digo do site, para que possa verificar informaƧƵes e excluir contas e comentĆ”rios. Alta 4 ConcluĆ­do
4 ValidaĆ§Ć£o Sistema Validar ONG na base de dados do siteā€Æ As informaƧƵes das ONGs sejam conferidas como autĆŖnticas e a instituiĆ§Ć£o seja liberada para criar uma PĆ”gina de ONG e compartilhar informaƧƵes de seus trabalhos.ā€Æ Alta 1 ConcluĆ­do
5 Login ONG/UsuĆ”rio Fazer Loginā€ÆatravĆ©s do e-mail e senha Eu tenha acesso a minha conta cadastrada. Alta 2 ConcluĆ­do
6 Login Administrador Fazer Login em uma pĆ”gina a parte do site atravĆ©s do meu nĆŗmero de registro e senha. Eu tenha acesso a minha conta cadastrada de funcionĆ”rio Alta 4 ConcluĆ­do
7 Login ONG/UsuƔrio/
Administrador
RecuperaĆ§Ć£o de senha Caso tenha esquecido minha senha, eu possa ter acesso ao link de redefiniĆ§Ć£o de senha enviado para meu e-mail cadastrado e assim conseguir fazer o login. Alta 5 A fazer
8 CriaĆ§Ć£o ONG Criar uma PĆ”gina de ONG personalizada apenas para minha ONG Se disponibilizar informaƧƵes da minha instituiĆ§Ć£o aos usuĆ”rios (descriĆ§Ć£o, endereƧo, contato, Ć­cone, avaliaƧƵes de usuĆ”rios conta corrente, agĆŖncia, pix) e permitir que se promovam as atividades relevantes ao meu pĆŗblico. Alta 2 ConcluĆ­do
9 CriaĆ§Ć£o UsuĆ”rio Fazer comentĆ”rios nas PĆ”ginas de ONG Possa falar sobre os projetos sociaisā€Æe minha experiĆŖncia com aquelas instituiƧƵes. MĆ©dia 5 A fazer
10 AlteraĆ§Ć£o ONG Alterar dados de cadastro, como o e-mail e senha Se necessĆ”rio, minha instituiĆ§Ć£o possa atualizar seus dados, como forma de seguranƧa. Alta 1 ConcluĆ­do
11 AlteraĆ§Ć£o ONG Alterar as informaƧƵes (descriĆ§Ć£o, endereƧo, contato, Ć­cone) da minha PĆ”gina de ONGā€Æ A PĆ”gina de ONG permaneƧa sempre com informaƧƵes atualizadas para poder receber doaƧƵes. Alta 2 ConcluĆ­do
12 AlteraĆ§Ć£o UsuĆ”rio Alterar dados cadastraisā€Æcomo e-mail e senha Se necessĆ”rio, eu possa atualizar meus dados, como forma de seguranƧa. Alta 4 ConcluĆ­do
13 AlteraĆ§Ć£o UsuĆ”rio Alterar comentĆ”rios, onde poderei alterĆ”-lo em atĆ© 24hr depois que o fiz Possa corrigir erros ortogrĆ”ficos, de informaĆ§Ć£o ou digitaĆ§Ć£o acidental. Baixa 5 A fazer
14 ExclusĆ£o ONG Deletar o cadastro e as informaƧƵesā€Æda minha ONG do site NĆ£o se divulgue mais informaƧƵes da ONG por falta de interesse, insatisfaĆ§Ć£o com o serviƧoā€Æou porque ela nĆ£o existe mais. Alta 1 ConcluĆ­do
15 ExclusĆ£o UsuĆ”rio Deletar meu cadastroā€ÆatravĆ©s da minha pĆ”gina de configuraƧƵes no site Por motivos pessoais nĆ£o quero mais manter o meu cadastro e receber informaƧƵes das Ongs do site. Alta 4 ConcluĆ­do
16 ExclusĆ£o Administrador Excluir ONGā€ÆatravĆ©s de minhas permissƵes como funcionĆ”rio e acesso Ć s informaƧƵes de ONGs cadastradas As instituiƧƵes que estĆ£o prestando informaƧƵes falsas, descobertas por denĆŗncias ou supervisĆ£o dos funcionĆ”rios, nĆ£o sejam mais divulgadas no ambiente do site e comprometam a opiniĆ£o pĆŗblica sobre demais ONGs ou o prĆ³prio site. Alta 4 ConcluĆ­do
17 ExclusĆ£o Administrador Excluir usuĆ”rio atravĆ©s de minhas permissƵes como funcionĆ”rio e acesso Ć s informaƧƵes de usuĆ”rios cadastrados Os usuĆ”rios mal-intencionados nĆ£o possam afetar a imagem de trabalhos divulgados ou do prĆ³prio site. Alta 4 ConcluĆ­do
18 ExclusĆ£o Administrador Excluir comentĆ”rios de usuĆ”rios nas PĆ”ginas de ONG Se evite ofensas e comentĆ”rios mal-intencionados que afetem a honra de terceiros (ONGs ou outros usuĆ”rios). MĆ©dia 5 A fazer
19 ONG ONG Denunciar usuĆ”rios que fazem comentĆ”rios difamando ou insultando a ONG e/ou funcionĆ”rios As instituiƧƵes nĆ£o tenham suas reputaƧƵes indevidamente manchadas por usuĆ”rios mal-intencionados. Baixa 5 A fazer
20 UsuĆ”rio UsuĆ”rio Filtrar buscas de acordo com meus interesses (por nome, regiĆ£o, segmento ou localizaĆ§Ć£o atual) Encontre ONGs que se adequem ao perfil de instituiĆ§Ć£o eu quero ajudar. Alta 4 ConcluĆ­do
21 UsuĆ”rio UsuĆ”rio Denunciar ONG atravĆ©s da opĆ§Ć£o de denĆŗncias, em que coloco os motivos por fazĆŖ-lo O administrador verifique aquela pĆ”gina denunciada e exclua as instituiƧƵes fraudulentas. Alta 5 Em andamento
22 UsuĆ”rio UsuĆ”rio Avaliar ONGs em suas respectivas PĆ”ginas de ONG Fazer avaliaƧƵes com base em minhas experiencias e minha satisfaĆ§Ć£o com aquela causa e instituiĆ§Ć£o. MĆ©dia 5 Em andamento
23 UsuĆ”rio UsuĆ”rio Compartilhar ONGā€ÆatravĆ©s de um botĆ£o em que envio o link daquela PĆ”gina de ONG do site para quem eu desejar Consiga compartilhar as PĆ”ginas de ONG e divulgar as instituiƧƵes e seus trabalhos para as pessoas. Baixa 4 ConcluĆ­do
24 UsuƔrio UsuƔrio Ter acesso ao FAQ, onde terei respostas de perguntas frequentes sobre o site Tenha informaƧƵes sobre o site e consiga mexer nele com maior facilidade. Baixa 4 Concluƭdo
25 Administrador Administrador Gerenciar banco de dados Otimize a acessibilidade dos dados relevantes do sistema, a manutenĆ§Ć£o de dados ou alteraƧƵes no banco. Alta 5 ConcluĆ­do
26 Acessibilidade ONG/UsuƔrio/
Administrador
Ter acesso ao menu de acessibilidade do site Possa mudar o tamanho das letras e o contraste das cores conforme a minha necessidade. MĆ©dia 2 ConcluĆ­do
27 Acessibilidade ONG/UsuƔrio/
Administrador
Atalhos do teclado Possa ter acesso mais rƔpido e prƔtico as funƧƵes do menu de acessibilidade e ir para a home e rodapƩ do site. MƩdia 2 Concluƭdo
28 Acessibilidade ONG/UsuƔrio/
Administrador
VLibras Em caso de ser deficiente auditivo, eu tambƩm possa acessar e entender os recursos do site, atravƩs do intƩrprete de libras. MƩdia 2 Concluƭdo
29 Responsividade ONG/UsuƔrio/
Administrador
Um site responsivo Minha navegaĆ§Ć£o seja fluĆ­da e o site funcione adequadamente em qualquer dispositivo que eu esteja utilizando para acessĆ”-lo. MĆ©dia 5 Em andamento
30 Perfil ONG Desejo ter um perfil Possa ter acesso as opƧƵes funcionalidades disponƭveis como: configuraƧƵes de perfil (alterar dados do perfil, ƭcone de perfil), analisar as atividades relacionado aos comentƔrios, avaliaƧƵes. MƩdia 3 Concluƭdo
31 Perfil UsuĆ”rio Desejo ter um perfil Nossa ter acesso as opƧƵes funcionalidades disponĆ­veis como: configuraƧƵes de perfil (alterar dados do perfil, Ć­cone de perfil), histĆ³rico de atividades (comentĆ”rios, avaliaƧƵes e denĆŗncias), alterar informaƧƵes de ONGā€™s favoritadas e ter autonomia na permissĆ£o da minha localizaĆ§Ć£o atual. MĆ©dia 4 ConcluĆ­do
32 Perfil Administrador Desejo ter um perfil Possa ter acesso as opƧƵes funcionalidades disponĆ­veis como: gerenciar perfil (alterar, deletar), gerenciar administradores (cadastrar, alterar e deletar), relatĆ³rio de comentĆ”rios e ONGā€™s denunciadas, relatĆ³rio de ONGā€™s cadastradas e deletadas (com descriĆ§Ć£o do motivo). MĆ©dia 5 ConcluĆ­do
33 RelatĆ³rio Sistema Gerar relatĆ³rios Exiba resultados do site para os administradores acompanharem as mĆ©tricas de total de ONGs cadastradas, a quantidade de ONGs cadastradas por mĆŖs, segmento e regiĆ£o, o total de usuĆ”rios cadastrados e a quantidade de usuĆ”rios cadastrados por mĆŖs. MĆ©dia 5 ConcluĆ­do
34 Readme Administrador AtualizaĆ§Ć£o de readme do GitHub Atualizar informaƧƵes do README no GitHub, para que as pessoas tenham acesso atualizadas do projeto Socieloo. MĆ©dia 5 ConcluĆ­do
35 Testes Desenvolvedor Efetuar testes de cĆ³digos e aplicaĆ§Ć£o Para verificar se hĆ” alguma deformidade e necessidade de alteraĆ§Ć£o. Alta 5 ConcluĆ­do
36 Termos de uso UsuĆ”rio/ONG Termo de utilizaĆ§Ć£o do site Para que eu tenha informaƧƵes sobre os termos de uso de acesso. MĆ©dia 5 Em andamento
Sprint Backlog

Cada requisito tem um identificador Ćŗnico de maneira que seja possĆ­vel rastrear a necessidade do cliente com a implementaĆ§Ć£o do software. O desenvolvimento se deu atravĆ©s de 5 Sprints. Abaixo, ficam listados os objetivos de cada Sprint:

  • SPRINT 1: Criar funcionalidades relacionadas ao cadastro da ONG
  • SPRINT 2: Finalizar as funcionalidades relacionadas Ć s ONGs e ajustar recursos de acessibilidade ao site
  • SPRINT 3: Finalizar as funcionalidades relacionadas Ć s ONGs e dar inĆ­cio ao desenvolvimento do CRUD(Back-end) do usuĆ”rio.
  • SPRINT 4: Trabalhar com as funcionalidades do UsuĆ”rio e comeƧar a desenvolver as funcionalidades de Administrador
  • SPRINT 5: Desenvolver as funcionalidades do sistema relacionado ao administrador
DefiniĆ§Ć£o de Pronto

O Product Backlog serĆ” considerado concluido quando:

  1. Os testes (ID 35) estiverem dando resultados satisfatĆ³rios e sem quaisquer erros ou problemas na execuĆ§Ć£o da aplicaĆ§Ć£o.
Tecnologias Utilizadas

FRONT-END

  • React

BACK-END

  • Java

FRAMEWORKS

  • Springboot

BANCO DE DADOS

  • H2

APIs

  • React Google Chart
  • ViaCEP
  • OpenStreetMap

PLUGINS

  • VLibras
  • Google Maps
Resultados

ConstruĆ­mos uma plataforma que cadastra ONGs. Cada ONG cadastrada recebe sua PĆ”gina de ONG, em que suas informaƧƵes sĆ£o divulgadas para o pĆŗblico do site. UsuĆ”rios tambĆ©m podem se cadastrar para interagir com as ONGs, incluindo comentĆ”rios nas PĆ”ginas de ONG e favoritando as ONGs de sua preferĆŖncia. O administrador controla os fluxos do site e tem acesso a um painel com ONGs e usuĆ”rios cadastrados, os comentĆ”rios postados e a quantidade de vezes que uma ONG foi favoritada.
Portanto, implementamos um projeto que, atualmente, possui 5 CRUDs (ONG, UsuƔrio, Admin, ComentƔrios e Favoritos) e 34 classes.


Modelo de DomĆ­nio

O modelo de dominio (Larman, 2006 - classes conceituais ou classes de negĆ³cio) foi definido considerando as seguintes classes: Diagrama de classes - socieloo ENG - Diagrama de classe

LĆ³gica da AplicaĆ§Ć£o

A visĆ£o lĆ³gica da arquitetura para API de Cliente Ć© apresentada na figura abaixo. A visĆ£ lĆ³gica descreve como o cĆ³digo estĆ” organizado, as classes os pacotes e os relacionamentos entre eles. f3_visao_logica

A entidade Cliente foi identificada como um serviƧo (ERL, 2007 - serviƧo do tipo entidade) o contrado das operaƧƵes de sistema (LARMAN, 2006, pag.140) foram definidas no diagrama abaixo.

classDiagram 
 class ClienteServicoI 
 <<interface>> ClienteServicoI 
 
 ClienteServicoI : +List<Cliente> consultaTodos() 
 ClienteServicoI : +Optional<<Cliente>> consultaPorCpf(String cpf) 
 ClienteServicoI : +Optional<<Cliente>> consultaPorId(Long id) 
 ClienteServicoI : +Optional<<Cliente>> save(Cliente c) 
 ClienteServicoI : +void delete (Long id) 
 ClienteServicoI : +Optional<<Cliente>> altera (Cliente c) 

O diagrama de sequĆŖncia descreve como os varios componentes arquiteturais colaboram para manipular uma operaĆ§Ć£o de sistema (exemplo para operaĆ§Ć£o consultaTodos())

sequenceDiagram 
Usuario ->> APIClienteController: GET /api/v1/clientes 
APIClienteController ->> ClienteServiceI: consultaTodos ( ) 
ClienteServiceI ->> ClienteRepository: findAll ( ) 
ClienteRepository -->> ClienteServiceI: List[] 
ClienteServiceI-->> APIClienteController: List[] 
APIClienteController -->> Usuario: JSon[] 

Referencias

  • [1] KRUCHTEN, Philippe. Reference: Title: Architectural blueprintsā€”the ā€œ4+ 1ā€ view model of software architecture. IEEE software, v. 12, n. 6, 1995.
  • [2] RICHARDSON, Chris. Microservices patterns: with examples in Java. Simon and Schuster, 2018.
  • [3] ERL, Thomas. SOA principles of service design (the Prentice Hall service-oriented computing series from Thomas Erl). Prentice Hall PTR, 2007.
  • [4] LARMAN, Craig. Utilizando UML e padrƵes. 2aed., Porto Alegre: Bookman Editora, 2006 (pag. 147)

spring-boot-api-rest's People

Contributors

diogolcarvalho avatar fernandasena07 avatar leocaje avatar biajl avatar ademiralves avatar aryel15 avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.