Sobre | Desafio | Resolução | Tecnologias | Execução |
Backend:
-
GET /post – responsável por retornar os últimos posts do dev/All caso não seja fornecido um parâmetro de busca ou para buscar posts usando o parâmetro “search” ou “blog”, no caso da listagem de posts pertencentes a um blog. No seu caso a busca será feita apenas por texto, ou seja, pelo parâmetro “search”.
-
GET post/clique/{id} – os posts retornados pelo endpoint anterior não contém a URL para a qual você deverá direcionar seus usuários. Isto por que precisamos registrar quantas vezes o link foi acessado. Este endpoint executa duas ações: registra o clique do usuário e, dentre os valores retornados (atributo URL), está o endereço do post para o qual você deverá direcionar o usuário do seu cliente.
Frontend
- Utilizar Os end Points do backend acima
- No momento em que a página for carregada, os últimos posts cadastrados no dev/All deverão ser expostos.
- Deve ser possível realizar a busca por posts no dev/All por assunto, tal como na interface padrão do site. Sendo assim, deve existir um formulário de pesquisa no seu cliente web. Neste formulário o usuário digitará um texto que será usado na busca por posts.
- Na listagem dos posts apresentados deve haver um botão ou link que, uma vez clicado, direcione o usuário para o site representado.
- A busca textual pesquisa por similaridade (like) posts cujos campos titulo ou resumo correspondam ao valor fornecido. - Sobre o autor, não devem ser retornados os campos “avatar” e “miniBiografia”, até por que os mesmos não se encontram presentes no banco de dados que lhe foi fornecido. - Sobre a ordenação dos posts, estes devem vir ordenados pela data de publicação em ordemdescendente. - O campo “url” do post não deve retornar preenchido. Ele será retornado na implementação do seu outro endpoint.
- Registra o clique no link. - Retorna a URL que representa o link para, aí sim, ser acessada diretamente.
API do /dev/All - Na listagem dos posts apresentados deve haver um botão ou link que, uma vez clicado,direcione o usuário para o site representado.
- No momento em que a página for carregada, os últimos posts cadastrados no dev/All deverão ser expostos.
- Deve ser possível realizar a busca por posts no dev/All por assunto, com um botão com o link do post
- Java 11
- Spring Boot
- JPA
- Maven
- Mysql
- Javascript
- React js
- Docker
- bootstrap
- css
- html
Pré-requisitos backend-java maven: Java 11 e Postman (ou a API Client que preferir)
# Clonar repositório
git clone https://github.com/fabio21777/itexto
# Entrar na pasta abaixo
cd itexto-backend
# Executar o projeto
./mvnw spring-boot:run
Pré-requisitos frontend yarn: Node versão recentes
# Clonar repositório
git clone https://github.com/fabio21777/itexto
# Entrar na pasta abaixo
cd itexto-frontend
# Instalar yarn
npm install --global yarn
# Baixar dependências do projeto
yarn install
# Executar o projeto
yarn start
Pré-requisitos backend-java docker: Docker e Postman (ou a API Client que preferir)
#Executar docker
docker run -d -p 8080:8080 --rm fabricio21777/itextospring
Pré-requisitos frontend-node docker: Docker
#Executar docker
docker run -d -p 3000:3000 --rm fabio21777/itextoreact