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 *