Setup-Backend.md
0 → 100644
### Instalação do docker | |||
https://www.docker.com/products/docker-desktop/ | |||
### Clonar Backend | |||
https://tools.ages.pucrs.br/adote-um-amanha/adote-um-amanha-backend | |||
### Docker Compose | |||
Após o docker instalar com sucesso, acessar o terminal de comando e navegar até a pasta raiz do projeto, onde o arquivo `docker-compose.yml` se encontra, estando neste diretório, executar o comando `docker compose up -d`. Isso irá fazer com que o banco e o seu administrador subam na sua máquina. Verifique se no docker se há dois containers e se ambos estão executando. | |||
![image](uploads/c58b2da35b26a3e974dd1a0ef97b7b45/image.png) | |||
### Administrado do Banco de Dados | |||
Se tudo ocorreu corretamente, agora acesse a url http://localhost:5050/browser/ em seu navegador. | |||
* Talvez aparece para colocar uma senha qualquer de admin, coloque uma fácil que irá se recordar caso seja pedido posteriormente em outro acesso. | |||
* Já na dashboard do administrado do banco, crie um novo servidor, clicando no icone de `Add a new Server` ou pelo menu clicando com o botão direito em cima de `Servers` no lado esquerdo da tela. | |||
* Na tela que abrir, na aba `General` no campo de texto `Name` coloque um nome de sua preferência para o servidor. | |||
* Na aba seguinte, em `Connection`, os seguintes valores devem ser colocados nos campos de textos , em `Hostname: postgres`, em `Username: ages` e em `Password: ages`. | |||
* O hostname é o nome do container criado por você, e que deve estar com o mesmo nome que aparece no seu docker, assim como a imagem acima, já o username e password são definidos no arquivo do docker compose no qual você executou o comando anteriormente. | |||
* Para finalizar é só clicar em save, deve ter sido criado então o servidor com o nome que você deu. | |||
### Executar o backend | |||
Deve ser baixado as dependecias do projeto, de preferencia recomendo executar o comando clean install do maven para evitar alguns erros bobos. Pelo IntellJ é possivél fazer isso no meu presente no lado direito da tela na aba lateral `Maven`. | |||
![image](uploads/fcc8c79493032b5cfcab06650d4b10cf/image.png) | |||
* No arquivo `application.yml`, dentro da estrutura do projeto, na pasta `resources`. Há uma configuração que pega o mapeando das entidades feitas no backened e ja cria o banco para a gente fazendo o insert, caso tenha executado a primeira vez. De prefêrencia é bom trocar, para não ficar dando drop no banco inteiro toda vez que executar a aplicação. Portanto na linha `11` onde tem a seguinte configuração `ddl-auto: create-drop` deve ser trocado para `ddl-auto: update`. | |||
* Dentro do banco criado por você, deve ter sido criado a tabela `usuario` | |||
![image](uploads/2d23d1375e387380f69960e3f3718465/image.png) | |||
* Acesse dentro do banco a Query tool para executar comandos SQL. | |||
![image](uploads/6480295c68ab0adb2ea384013955603e/image.png) | |||
* Insira um novo usuário com o comando `insert into usuario(id_usuario, ativo, email, nome, perfil, senha) values (1, true, '[email protected]', 'email', 'ADMIN', '$2a$10$KDZdDpsS30B0YID4riOWoeUwfvRB5lXRB8WOoNFiO/nidARaU4haC')` | |||
* A senha é criptografada, a senha do usuário inserido no banco acima corresponde a palavra `admin`. Para inserir um novo usuário com uma senha diferente, use o site https://appdevtools.com/bcrypt-generator para saber o hash desta nova senha. | |||
### Instalação do postman | |||
https://www.postman.com/downloads/ | |||
* Baixar a collection e importar no postman | |||
[collection](uploads/25b3546bf297d634c7b2736e8a78f33a/collection) | |||
* Disparar a requisição de login, se retornar o token, deu tudo certo! | |||
![image](uploads/74b2b521342323b1f65ec641c0fc6def/image.png) | |||