... | @@ -4,25 +4,78 @@ |
... | @@ -4,25 +4,78 @@ |
|
|
|
|
|
## Back-end (API)
|
|
## Back-end (API)
|
|
|
|
|
|
Requisitos:
|
|
A configuração de cada ambiente está no `config/environments/<env>.js`. Para desenvolvimento vamos utilizar o arquivo `config/environments/development.js`. Nele esta configurado para subir a aplicação na porta `3000` e utilizar o MongoDB com a seguinte config:
|
|
|
|
|
|
- NodeJS + NPM
|
|
```
|
|
- Docker + Docker Compose
|
|
username: "admin",
|
|
|
|
password: "p1c4d1nh0",
|
|
|
|
database: "dev"
|
|
|
|
```
|
|
|
|
|
|
|
|
### Requisitos
|
|
|
|
|
|
|
|
Será necessário ter em sua máquina:
|
|
|
|
- [Node](https://nodejs.org/en/).
|
|
|
|
- [Docker ](https://www.docker.com/) ou [MongoDB ](https://www.mongodb.com/) local.
|
|
|
|
|
|
|
|
### Configurando MongoDB
|
|
|
|
|
|
|
|
#### [Docker](https://docs.docker.com/compose/)
|
|
|
|
- Na raiz do repositório existe um arquivo chamado `docker-compose.yml`. Com ele é possível subir uma instancia do MongoDB, já configurada para ser utilizada localmente. Para isso é preciso ter instalado o Docker em sua máquina (Linux ou Windows). Com o Docker rodando, o seguinte comando pode ser executado ` docker-compose up -d `
|
|
|
|
|
|
|
|
Após isto o MongoDB já estará rodando.
|
|
|
|
|
|
|
|
#### Sem Docker - Para os que tiverem problemas com o Windows Home
|
|
|
|
|
|
|
|
- Também é possível utilizar o MongoDB localmente. Para isto basta configurar o usuário e senha de acordo com o env do projeto.
|
|
|
|
|
|
|
|
1. Deve-se instalar o MongoDB localmente na máquina através do link: https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-4.4.1-signed.msi
|
|
|
|
2. No cmd digitar 'cd C:\Program Files\MongoDB\Server\4.4\bin\mongo.exe'
|
|
|
|
O mongodb deve se conectar. Verificar em qual porta está conectado o mongo. No meu caso foi a 27017
|
|
|
|
3. Digitar o comando 'use admin'
|
|
|
|
4. Digitar o comando para adicionar usuário 'db.createUser(
|
|
|
|
{
|
|
|
|
user: "admin",
|
|
|
|
pwd: "p1c4d1nh0",
|
|
|
|
roles: [ { role: "dbOwner", db: "dev" } ]
|
|
|
|
}
|
|
|
|
)'
|
|
|
|
5. No MongoDB Compass adicionar uma conexão como segue:
|
|
|
|
Hostname: localhost
|
|
|
|
Port: 27017 (vai depender de qual porta o mongo está conectado)
|
|
|
|
Authentication: username/password
|
|
|
|
Username: admin
|
|
|
|
Password: p1c4d1nh0
|
|
|
|
Authentication Database: admin
|
|
|
|
6. Após esses passos é possível iniciar o back.
|
|
|
|
|
|
|
|
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
|
|
|
|
|
|
|
|
### Dependências
|
|
|
|
|
|
|
|
Para que todas as dependências do projeto sejam instaladas pode ser utilizado o gerenciador de pacotes [NPM](https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/).
|
|
|
|
|
|
|
|
Com o repositório clonado, navegue até o a pasta raiz do projeto, e execute, ` npm install `.
|
|
|
|
|
|
|
|
### Rodando
|
|
|
|
|
|
|
|
Depois das devidas configurações, basta executar o seguinte comando para rodar o projeto, `npm run dev`.
|
|
|
|
|
|
Para executar a API, você precisa clonar o projeto com o comando:
|
|
### Swagger e docs
|
|
|
|
|
|
```git clone http://tools.ages.pucrs.br/onyva/onyva-back.git```
|
|
O projeto conta com um middleware do Swagger para automaticamente documentar as rotas desenvolvidas. Para visualiza-lo, com o projeto em execução, basta acessar `http://localhost:3000/api/docs`.
|
|
|
|
|
|
Em seguida, entre no repositório e execute ```npm install```. Se você não tiver o NPM instalado, é necessário que o faça antes de prosseguir.
|
|
### Carregando as manutenções da URL para o arquivo Json
|
|
Finalizada a instalação, suba o banco de dados MongoDB utilizando o Docker com o seguinte comando:
|
|
Rodar comando '& python ./scriptCarService.py' que gera o arquivo em json scheduledMaintenancesInitialPayload.json
|
|
|
|
|
|
```docker-compose up -d``` (remova a flag ```-d``` se desejar visualizar os logs do banco de dados durante sua execução)
|
|
### Carregando as manutenções da Chevrolet para banco
|
|
|
|
|
|
Se tudo ocorreu certo, inicie a aplicação da API com o comando:
|
|
Depois das devidas configurações, e de adicionar informações dos carros no banco, preferencialmente pelo front-end(CASO ADICIONE PELO SWAGGER, USAR LETRAS MAIUSCULAS).
|
|
|
|
Ex: "brand":"CHEVROLET"
|
|
|
|
"model":"ONIX"
|
|
|
|
Após ter os veículos adicionados no contexto da gerência, rodar o comando para iniciar o script seeds.js: 'npm run seed'.
|
|
|
|
|
|
```npm run dev```
|
|
|
|
|
|
|
|
Se tudo correu certo, você poderá visualizar a documentação da API através do endereço ```http://localhost:3000/api/docs```.
|
|
|
|
|
|
|
|
## Front-end (Oficina)
|
|
## Front-end (Oficina)
|
|
|
|
|
... | | ... | |