Projeto desenvolvido teve o objetivo de criar um API Rest de um blog, utilizando os padrões de arquitetura em camadas, onde e possível cadastrar um usuário e esse usuário pode criar vários posts com seus comentários e sua respectivas categoria, realizando um CRUD em todas as entidades, e com o tratamento de suas exceções.
Projeto implementado na nuvem, com backend no heroku e frontend no netlify.
Experimente live demo completa aqui ou deploy no netlify aqui.
Criar e executar o projeto em seu ambiente de desenvolvimento local é muito fácil. Certifique-se de ter o Git, Node 16.17.1 e JDK17 instalados e siga as instruções abaixo. Precisa de informações adicionais? entre em contato no e-mail josecarloscjj@gmail.com (Estas instruções pressupõem que você esteja instalando como um usuário root.)
-
Clone o código fonte.
git clone git@github.com:joosecj/MRBlog.git
-
Em sua IDE de preferência(utilizei Intellij), importe a pasta backend e faça o update das dependências do maven.
-
Ao executar o projeto, pode ser acessado um navegador da Web em http://localhost:8080/
-
Collections do postman para fazer as requisições GET/PUT/DELETE E UPDATE para criação da conta, lançar as transações e consultar por movimentações por conta.
- Link da Collections do postman: https://www.getpostman.com/collections/77d9b404e0cd264cd454
Obs: Para testar as requisições, poderá usar o URL na nuvem ou local que e http://localhost:8080.
- Pessoa By Id - GET
https://joosecj-mrblog.herokuapp.com/pessoa/1
-
Posts By Pagead - GET
https://joosecj-mrblog.herokuapp.com/posts?size=10&page=0&sort=title
-
New Post - POST
https://joosecj-mrblog.herokuapp.com/posts
-
Post - PUT
https://joosecj-mrblog.herokuapp.com/posts/4
-
Posts - DELETE
https://joosecj-mrblog.herokuapp.com/pessoa/6
-
Corpo da Requisição(Body) - JSON - PUT e POST
{ "title": "Abelha Abelha", "titleDescription": "novo posto realizado para testesta", "description": "It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution", "category": { "id": 1 }, "user": { "id": 1 } }
-
Abra o terminal dentro da pasta frontend e rode o comando:
yarn start