README.md
completo em breve...
Sem problemas!
Você pode inserir uma URI de algum provedor como o Atlas. Neste caso, vamos definir um URI no campo mongoUrl
. Esta propriedade do default.json
tem prioridade, logo se você definiu uma URI, ela será usada, senão deixea vazia por padrão do default-example.json
.
A URI a ser usada, no caso se você usar o Atlas, terá o formato semelhante a seguir:
{
"App": {
"port": 3000,
"database": {
"mongoUrl": "mongodb+srv://<username>:<password>@cluster0.zcr3z.mongodb.net/<dbname>?retryWrites=true&w=majority"
},
"resources": {
"StormGlass": {
"apiUrl": "https://api.stormglass.io/v2",
"apiToken": ""
}
}
}
}
Onde:
-
username
: seu nome de usuário -
password
: sua senha -
dbname
: nome da base de dados. Eu recomendo chamar deemail-performance-app
Tendo realizado todas as configurações, execute npm run dev
ou yarn dev
para iniciar a aplicação em modo de desenvolvimento(development
).
OBS: ao executar o comando para iniciar a aplicação, será exibido no terminal a URI de conexão com o banco.
Uma solução alternativa é subir um container do Docker do MongoDB. Existe a imagem oficial do mongo que podemos usar para subir um container MongoDB e usar o banco de dados.
Na raíz do projeto temos um arquivo docker-compose.yml
com as seguintes características:
version: '3'
services:
mongo:
container_name: weather-forecast-api
restart: always
ports:
- 27017:27017
image: mongo
volumes:
- ./MongoDB:/data/dbc
Esse arquivo é a base para gerar um container do mongodb. Na raíz do projeto, execute o comando docker-compose up
para iniciar o serviço do MongoDB. Faça os ajustes no arquivo default.json
de acordo com a configuração do container ou deixe o padrão do default-example.json
.
Foi utilizado o JEST para os criação de testes automatizados. O sistema é coberto por testes de unidade e de integração. Ambos possuem seus próprios arquvivos de configuração (jest.config.js
) e a nomenclatura possui diferença semântica quanto ao tipo de teste:
- Os testes de unidade possuem nomenclatura de arquivo do tipo
*.test.ts
. - Os testes de integração, os arquivos são nomeados com padrão
*.spec.ts
.
A nomenclatura dos arquivos de testes são apenas uma convenção adotada por mim.
Iglan Cardeal
Desenvolvido e mantido por Iglan Cardeal 🔨
Desenvolvedor NodeJS 💻
Entre em contato! 👋🏽
- [email protected] 📧
- Instagram @cmtcardeal
- StackOverflow Cmte Cardeal
Usando curl para testar uma url:
curl "https://api.stormglass.io/v2/weather/point?lat=58.7984&lng=17.8081¶ms=windSpeed" -H "Authorization: API_KEY" | json_pp -json_opt pretty,canonical
json_pp
para formatar a saída do JSON.
yarn -D add yarn-deduplicate
npx yarn-deduplicate yarn.lock
You can also add a verification step to your Continuous Integration (CI) pipeline like:
yarn-deduplicate yarn.lock --list --fail