Crear una aplicación CRUD con Node.js + MongoDB (Parte 2)









Node.js es un intérprete de código JavaScript que funciona desde el lado del servidor. Esta plataforma permite a los programadores el desarrollo de aplicaciones en red, en tiempo real y de alta escalabilidad, de una forma sencilla y rápida. Node.js se basa en el intérprete V8 de Google.

Después de la instalación de las dependencias y creación de servidor, hoy vamos a crear toda la estructura de aplicación, definiendo las Routes, los Controllers y el Modelo.

Crear una aplicación CRUD con Node.js + MongoDB

Organización de la Aplicación (MVC)

Nuestra aplicación deberá seguir el "diseño" MCV. M de modelo (código para nuestro modelo de base de datos), V de View (layout) y C de controladores (parte lógica de la aplicación (como la aplicación se ocupa de las solicitudes recibidas y de las respuestas enviadas).

Existen también las Routes que indican al cliente (navegador o app mobile) cuál es el controlador a usar, de acuerdo con el url / path solicitado.

Dentro de nuestra carpeta smartphones_app vamos a crear la siguiente estructura (pueden utilizar el comando mkdir -p controllers models routes views)





  • controladores
  • modelos
  • rutas
  • vistas

Crear una aplicación CRUD con Node.js + MongoDB

Crear plantilla

Vamos a empezar por definir nuestro MODEL. Para ello vamos a crear, dentro del directorio models, un archivo con el nombre smartphones.model.js

const mongoose = require('Mangosta');
y en el caso de que se trate de un problema.
dejar SmartphoneSchema = new Schema({
nombre: {Tipo: String, required: verdadero, max: 100},
marca: {Tipo: Number, required: verdadero},
});
// Exportar el modelo
module.exports = mongoose.model('Smartphone', SmartphoneSchema);

Al exportar nuestro modelo, podemos usarlo en otros archivos del proyecto. Con esto tenemos la parte M del diseño MVC completada!

Crear Rutas

Vamos a crear, dentro del directorio de rutas, un archivo con el nombre smartphones.route.js y colocar el siguiente código:

const express = require('Expresión');
const enrutador = expres.Router();
// Colocar controlador que aún no se ha creado
const smartphone_controller = require(' ../controladores/smartphone.controller ');
// prueba simple
router.get('/prueba ', smartphone_controller.test);
module.exports = router;

Crear Controllers

var Smartphone = require('../Models/smartphones.model');
exports.test = función (req, res) {
    res.send('Hola! Prueba al controlador ');
};

Ahora vamos al archivo principal (index.js) y agregue la ruta.

const express = require('Expresión');
const bodyParser = require('Body-analizador ");
const smartphone = require('./Routes/smartphones.route'); // Importa ruta
const app = express();
app.use('/ Smartphones, smartphones);
dejar puerto = 8000;
app.listen(puerto, () => {
    console.log('Servidor en ejecución en el puerto' + puerto);
});

prueba

Para probar basta con utilizar la dirección localhost: 8000 / smartphones / test (definido en la Ruta). Si el resultado es el siguiente, entonces su primera ruta está funcionando.
Crear una aplicación CRUD con Node.js + MongoDB

Y el por hoy es todo. En un próximo tutorial vamos a crear la base de datos y conectar el proyecto a la base de datos. Por último, también tendremos que crear los endpoints, que implementarán las funciones definidas en el CRUD.

Leer también …

Ana Gomez

Ana Gómez. Nació en Asturias pero vive en Madrid desde hace ya varios años. Me gusta de todo lo relacionado con los negocios, la empresa y los especialmente los deportes, estando especializada en deporte femenino y polideportivo. También me considero una Geek, amante de la tecnología los gadgets. Ana es la reportera encargada de cubrir competiciones deportivas de distinta naturaleza puesto que se trata de una editora con gran experiencia tanto en medios deportivos como en diarios generalistas online. Mi Perfil en Facebookhttps://www.facebook.com/ana.gomez.029   Email de contacto: ana.gomez@noticiasrtv.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *