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 Facebook:¬†https://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 *