/projeto-web-backend

Projeto para a disciplina de Desenvolvimento Web

Primary LanguageJava

Projeto Backend

Esse projeto tem como intuito pôr em prática o que foi ensinado na disciplina de Desenvolvimento Web, desta vez, focado para o backend.

Foi desenvolvida uma API(Application Programming interface) RESTful que faz conexão com um frontend, localizado no repositório https://github.com/FelipeFelipeRenan/projeto-web-frontend, servindo dados e também consumindo dados enviado pela aplicação.

Estrutura

Foi escolhido como ferramente principal, o framework Quarkus, um framework para desenvolvimento web construído com a linguagem de programação Java, linguagem essa bastante difundida em ambientes de desenvolvimento onde de necessita de aplicações robustas e com regras de negócio complexas.

A aplicação possui 4 partes principais, que são relacionada com seus respectivos modelos, sendo uma para lidar com participantes, uma para lidar com squads, uma para lidar com sprints e uma para lidar com tarefas, sendo, a princípio, pensando para atender uma arquitetura de microsserviço, com cada parte dessa aplicação sendo facilmente escalável, porém, devido à débito técnico e falta de um conhecimento maior de alguns integrantes da equipe acerta de tal arquitetura, foi decidido, por hora, manter uma arquitetura mais simples de monólito.

Como banco de dados, foi escolhido o Postgres, pois. devido ao relacionamento que as entidades possuem, seria mais intuitivo utilizar um banco do tipo SQL para o armazenamento, e o Postgres também é bastante utilizado pela induútria.

Foi feita uma arquitetura MVC(Model View Controller), sendo a View, a própria aplicação frontend que se comunica com a API, foi feito o começo de uma arquitetura limpa, criando-se DTOs(Data Transfer Object) para comunicação entre as camadas do software, porém, devido à simplicidade das regras de negócio, a arquitetura foi simplificada.

Deploy da aplicação

Para rodar a aplicação, será necessário obter:

  • Java versão 17+
  • Maven 3.9,5
  • Docker

Estando com o Docker instalado(Linux) ou Docker Desktop executando(Windows), basta, na raiz do projeto, executar o comando:

  mvn quarkus:dev

Após executado e sem erros no log, tecle d no terminal para abrir automaticamente a interface web do Quarkus, logo após, clique na opção lateral "Endpoints" e clique no endpoint "/q/swagger-ui" ou pode ser feito o acesso de forma direta pela URL: http://localhost:8080/q/swagger-ui.

Acessando esse endereço, será encontrado a interface web de documentação de de APIs, mais conhecida como Swagger, nela, estará disponível, de forma simplificada, todos os endpoints da aplicação, seus métodos e suas formas de acesso, assim como seus retornos e códigos de informação