Pplware

Criar uma app CRUD com Node.js + MongoDB (Parte 2)

O Node.js é um interpretador de código JavaScript que funciona do lado do servidor. Esta plataforma permite aos programadores o desenvolvimento de aplicações em rede, em tempo real e de alta escalabilidade, de uma forma simples e rápida. O Node.js é baseado no interpretador V8 da Google.

Depois da instalação das dependências e criação de servidor, hoje vamos criar toda a estrutura de aplicação, definindo as Routes, os Controllers e o Modelo.


Organização da Aplicação (MVC)

A nossa aplicação deverá seguir o “design” MCV. M de Model (código para o nosso modelo de base de dados), V de View (layout) e C de controllers (parte lógica da app (Como a app lida com as solicitações recebidas e as respostas enviadas).

Existem também as Routes que indicam ao cliente (browser ou app mobile) qual o controller a usar, de acordo com o url/path solicitado.

Dentro da nossa pasta smartphones_app vamos então criar a seguinte estrutura (podem usar o comando mkdir -p controllers models routes views)

Criar Modelo

Vamos começar por definir o nosso MODEL. Para isso vamos criar, dentro do diretório models, um ficheiro com o nome smartphones.model.js

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let SmartphoneSchema = new Schema({
nome: {type: String, required: true, max: 100},
marca: {type: Number, required: true},
});
// Exportar o modelo
module.exports = mongoose.model('Smartphone', SmartphoneSchema);

Ao exportarmos o nosso modelo, podemos usá-lo em outros ficheiros do projeto. Com isto temos a parte M do design MVC concluída!

Criar Routes

Vamos criar, dentro do diretório routes, um ficheiro com o nome smartphones.route.js e colocar o seguinte código:

const express = require(‘express’);
const router = express.Router();
// Colocar controller que ainda não foi criado
const smartphone_controller = require(‘../controllers/smartphone.controller’);
// teste simples
router.get(‘/testar’, smartphone_controller.test);
module.exports = router;

Criar Controllers

const Smartphone = require('../models/smartphones.model');
exports.test = function (req, res) {
    res.send('Olá! Teste ao Controller');
};

Vamos agora ao ficheiro principal (index.js) e adicionar a route.

const express = require('express');
const bodyParser = require('body-parser');
const smartphone = require('./routes/smartphones.route'); // Importa rota
const app = express();
app.use('/smartphones', smartphones);

let porto = 8000;
app.listen(porto, () => {
    console.log('Servidor em execução no porto' + porto);
});

Testar

Para testarem basta usar o endereço localhost:8000/smartphones/testar (definido na Route). Se o resultado for o seguinte, então a sua primeira Route está a funcionar.

E o por hoje é tudo. Este tutorial é baseado no apresentado aqui. Num próximo tutorial vamos criar a base de dados e ligar o projeto à base de dados. Por fim, teremos também de criar os endpoints, que implementarão as funções definidas no CRUD.

Leia também…

Exit mobile version