API com informação de mortes
Está é uma API REST para obter atualizações sobre os dados da Mortalidade em Portugal.

Aplicação desenvolvida em Node.js, autenticação via JWT, banco de dados MongoDB (NoSQL) e o IU Swagger que permite qualquer pessoa visualize e interaja com os recursos da API sem ter nenhuma lógica de implementação.
Vamos começar…
1º Passo Instalar o Nodejs (aqui).
2º Passo Criação da base de dados no MongoDB
Criar conta aqui!
Criar um projeto

Adicione os membros necessários. A própria conta será adicionada como proprietária do projeto em breve.

Criar um Cluster




Adicionar um utilizador a base de dados


Adicionar acesso à rede.



Ver a conexão.


Desenvolvimento de API
Para começar vamos instalar as dependências necessárias para o desenvolvimento do projeto.
a) Para iniciar o projeto co o seguinte comando:
npm init -y
b) Em seguida instalar:
- bcrypt ~ Uma biblioteca para ajudá-lo a fazer o hash de senhas.
- body-parser ~ Uma biblioteca para ajudá-lo para criar middlewares.
- dotenv ~ é um módulo de dependência zero que carrega variáveis de ambiente de um
.env
arquivo para oprocess.env
. - express ~ é uma estrutura de aplicativo da web Node.js mínima e flexível que fornece um conjunto robusto de recursos para aplicativos.
- jsonwebtoken ~ Uma implementação de JSON Web Tokens .
- mongoose ~ é uma ferramenta de modelagem de objetos MongoDB projetada para funcionar em um ambiente assíncrono.
- swagger-jsdoc ~ Esta biblioteca lê seu código-fonte anotado em JSDoc e gera uma especificação OpenAPI (Swagger) , “@6.1.0 é a versão usada nesse projeto”.
- swagger-ui-express ~ Este módulo permite que você forneça documentos de API gerados por swagger-ui gerados automaticamente a partir do express, com base em um
swagger.json
arquivo.
implementando o seguinte comando:
npm install bcrypt body-parser dotenv express jsonwebtoken mongoose swagger-jsdoc@6.1.0 swagger-ui-express
c) Em seguida instalar nodemon que é uma ferramenta que ajuda a desenvolver aplicativos baseados em node.js reiniciando automaticamente o aplicativo de nó quando mudanças de arquivo no diretório são detetadas.
Instalar o nodemon como uma dependência de desenvolvimento com o seguinte comando:
npm install nodemon -D
E adicionar a seguinte estrutura de pastas e ficheiros.

No ficheiro index.js
aplicar o seguinte código:
No ficheiro database/index.js
aplicar o seguinte código:
No ficheiro middlewares/isAuthorized.js
aplicar o seguinte código:
No ficheiro middlewares/verifyToken.js
aplicar o seguinte código:
No ficheiro models/mortoModels.js
aplicar o seguinte código:
No ficheiro models/userModels.js
aplicar o seguinte código:
No ficheiro routes/index.js
aplicar o seguinte código:
No ficheiro routes/mortoRoutes.js
aplicar o seguinte código:
No ficheiro routes/userRoutes.js
aplicar o seguinte código:
No ficheiro swagger/swagger.js
aplicar o seguinte código:
No ficheiro utils/generateToken.js
aplicar o seguinte código:
No ficheiro .env
aplicar o seguinte código:
No ficheiro package.json
aplicar o seguinte código:
Vamos agora ativar o servidor local com o seguinte comando:
npm run dev

Abrir o browser e http://localhost:3030/

Vamos agora coloca-la num servidor da cloud (Microsoft Azure)
Criar a sua conta azure aqui!
De seguida no portal da azure cria uma maquina virtual

Vai ao seu visual studio code e instale o plugin Azure App Service

Sincroniza o plugin com a sua conta criada e faça o deploy da sua aplicação

Selecionar o diretório em que esta o projeto

Escrever o nome do DNS


Selecionar a versão do nodejs que desenvolveste a Api

De seguida clicar no open

Ou aceder ao browser com o endereço
https://api-morto.azurewebsites.net/

Conclusão
Está pronta a nossa API!
Este projeto está disponível no repositório do GitHub!