16.13. Criando um CRUD com NodeJS e MongoDB: Deploy da aplicação

Página 97

Após termos abordado os conceitos básicos e intermediários de criação de APIs em NodeJS, chegamos ao ponto crucial do nosso curso e-book: a criação de um CRUD (Create, Read, Update, Delete) com NodeJS e MongoDB, e o deploy da nossa aplicação. Este capítulo 16.13 vai te guiar passo a passo para realizar essa tarefa tão importante.

Preparando o Ambiente

Primeiramente, certifique-se de que você tem o NodeJS e o MongoDB instalados em seu sistema. Se não, você pode baixá-los e instalá-los a partir de seus sites oficiais. Além disso, precisaremos do Postman para testar nossas APIs, e do Heroku CLI para o deploy da nossa aplicação.

Criando o Projeto NodeJS

Para criar um novo projeto NodeJS, abra o terminal e navegue até o diretório onde deseja criar o projeto. Em seguida, execute o comando "npm init" para inicializar um novo projeto. Isso criará um novo arquivo "package.json" em seu diretório, que contém informações sobre o seu projeto e as dependências que ele precisa.

Instalando as Dependências

Para o nosso projeto, precisaremos de algumas dependências: express, mongoose, body-parser e nodemon. Para instalá-las, execute o comando "npm install express mongoose body-parser nodemon".

Criando o Servidor Express

Agora, vamos criar o nosso servidor Express. Crie um novo arquivo chamado "server.js" e adicione o seguinte código:

```javascript const express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server is running on port ${port}`); }); ```

Este código cria um novo servidor Express que escuta na porta 3000.

Conectando ao MongoDB

Para conectar ao MongoDB, precisamos usar o Mongoose, uma biblioteca que nos permite interagir com o MongoDB de maneira fácil e direta. Adicione o seguinte código ao seu "server.js":

```javascript const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('Connected to MongoDB')) .catch(err => console.error('Could not connect to MongoDB', err)); ```

Este código conecta ao MongoDB rodando localmente na sua máquina.

Criando o CRUD

Para criar o CRUD, primeiro precisamos definir um modelo para os nossos dados. Crie um novo arquivo chamado "user.model.js" e adicione o seguinte código:

```javascript const mongoose = require('mongoose'); const User = mongoose.model('User', new mongoose.Schema({ name: String, email: String, password: String })); module.exports = User; ```

Este código define um modelo de usuário com três campos: nome, email e senha.

Agora, vamos criar as rotas para o nosso CRUD. Crie um novo arquivo chamado "user.routes.js" e adicione o seguinte código:

```javascript const express = require('express'); const router = express.Router(); const User = require('./user.model'); router.post('/', async (req, res) => { let user = new User({ name: req.body.name, email: req.body.email, password: req.body.password }); user = await user.save(); res.send(user); }); router.get('/', async (req, res) => { const users = await User.find(); res.send(users); }); router.get('/:id', async (req, res) => { const user = await User.findById(req.params.id); if (!user) return res.status(404).send('The user with the given ID was not found.'); res.send(user); }); router.put('/:id', async (req, res) => { const user = await User.findByIdAndUpdate(req.params.id, { name: req.body.name, email: req.body.email, password: req.body.password }, { new: true }); if (!user) return res.status(404).send('The user with the given ID was not found.'); res.send(user); }); router.delete('/:id', async (req, res) => { const user = await User.findByIdAndRemove(req.params.id); if (!user) return res.status(404).send('The user with the given ID was not found.'); res.send(user); }); module.exports = router; ```

Este código cria as rotas para criar, ler, atualizar e deletar usuários.

Deploy da Aplicação

Finalmente, vamos fazer o deploy da nossa aplicação. Para isso, vamos usar o Heroku, uma plataforma de hospedagem de aplicações em nuvem. Primeiro, precisamos criar um arquivo chamado "Procfile" no diretório raiz do nosso projeto. Este arquivo diz ao Heroku como iniciar a nossa aplicação. Adicione o seguinte código ao "Procfile":

``` web: node server.js ```

Em seguida, precisamos inicializar um novo repositório Git no nosso projeto. Execute os comandos "git init" e "git add ." para adicionar todos os arquivos ao repositório. Em seguida, execute "git commit -m 'Initial commit'" para fazer o commit dos arquivos.

Agora, precisamos criar uma nova aplicação no Heroku. Para isso, execute o comando "heroku create". Isso criará uma nova aplicação e adicionará um novo remote Git chamado "heroku" ao seu repositório.

Finalmente, podemos fazer o deploy da nossa aplicação. Para isso, execute o comando "git push heroku master". Isso enviará o código da nossa aplicação para o Heroku, que irá construir e iniciar a aplicação.

Parabéns! Você acabou de criar e fazer o deploy de uma aplicação CRUD com NodeJS e MongoDB! Agora você pode acessar a sua aplicação no endereço que o Heroku forneceu.

Now answer the exercise about the content:

Qual é o processo para criar um CRUD (Create, Read, Update, Delete) com NodeJS e MongoDB como descrito no curso e-book?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

9817. Autenticação e autorização em API's NodeJS

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text