1

¿Como crear un CRUD en nodejs y express para un ecommerce aplicando una Restful API?

Crear un sistema CRUD (Crear, Leer, Actualizar, Eliminar) en Node.js y Express para un eCommerce mediante una API RESTful es un proyecto valioso que te permitirá gestionar productos, pedidos y más. Acontinuación haremos una mini guía paso a paso sobre cómo hacerlo:

Paso 1: Configuración Inicial

  1. Crea una carpeta para tu proyecto y asegúrate de tener Node.js instalado.
    • mkdir my-store
    • Ingresamos a la carpeta cd my-store.
    • Para saber que versión de node tenemos instalado usamos el siguiente comando en la terminr o cmd:
      node -v
  2. Inicializa tu proyecto con npm init -y, este lo realiza por defecto y sigue las instrucciones para configurar el package.json. Acontinuación, creamos lo siguentes:
    • .editorconfig. Para el editoconfig se recomiendoa la extención “EditorConfig for VS Code”, ña configuración inical es la siguiente:
# Editor configuration, see https://editorconfig.orgroot = true
[*]charset = utf-8indent_style = space
indent_size = 2insert_final_newline = truetrim_trailing_whitespace = true
[*.js]quote_type = single

[*.md]max_line_length = offtrim_trailing_whitespace = false

Esto se realiza parque las personas que van a trabajar en este proyecto sea igual.
* .eslentrc.json (reglas para la buenas practicas). Para el .eslintrc realizamos los mismos para anteriores pero con la siguiente configuración:

{
  "parserOptions": {
    "ecmaVersion": 2018
  },
  "extends": [
    "eslint:recommended",
    "prettier"
  ],
  "env": {
    "es6": true,
    "node": true,
    "jest": true
  },
  "rules": {
    "no-console": "warn"
  }
}
* index.js 
  1. Instala Express y otras dependencias necesarias:
    npm i express
    Para el Package.json vamos a crear algunas tareas, por ejemplo:

    • Levantar un entorno de desarrollo, este va con nodemon index.js
    • Start va ser “node index.js”.
    • Lint es con eslint

    Para que este entorno funciones debemos tener instaladas lo siguientes:

    • npm i eslint
    • npm i eslint-config-prettier
    • npm install --save-dev eslint-plugin-prettier
    • npm i prettier
    • npm install -g nodemon

    o simplemente este comando

    • npm i nodemon eslint eslint-config-prettier eslint-plugin-prettier prettier -D (Desarrollo).

Paso 2: Configura Express y MongoDB

Crea un archivo index.js y configura Express:

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const app = express();
const port = process.env.PORT || 3000;

// Conecta a tu base de datos MongoDB
mongoose.connect('mongodb://localhost/tu-base-de-datos', { useNewUrlParser: true, useUnifiedTopology: true });

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

Paso 3: Define tus Modelos de Datos

Define los modelos de datos que necesitas para tu eCommerce. Por ejemplo, un modelo de producto:

const mongoose = require('mongoose');

const productSchema = new mongoose.Schema({
  name: String,
  description: String,
  price: Number,
});

const Product = mongoose.model('Product', productSchema);

module.exports = Product;

Paso 4: Configura las Rutas para el CRUD

Crea rutas para las operaciones CRUD. Por ejemplo, para productos:

const express = require('express');
const router = express.Router();
const Product = require('./models/product'); // Asegúrate de tener la ruta correcta// Ruta para crear un nuevo producto
router.post('/productos', (req, res) => {
  const newProduct = new Product(req.body);
  newProduct.save((err, product) => {
    if (err) {
      res.status(500).send('Error al crear el producto');
    } else {
      res.status(201).json(product);
    }
  });
});// Ruta para obtener todos los productos
router.get('/productos', (req, res) => {
  Product.find({}, (err, products) => {
    if (err) {
      res.status(500).send('Error al buscar productos');
    } else {
      res.json(products);
    }
  });
});// Implementa rutas para actualizar y eliminar productos aquí

module.exports = router;

Paso 5: Agrega las Rutas a tu Aplicación Principal

En tu archivo principal, agrega las rutas que definiste:

const productRoutes = require('./routes/productRoutes'); // Asegúrate de tener la ruta correcta// Configura las rutas
app.use('/api', productRoutes); // Puedes ajustar la ruta base según tu preferencia// Inicia el servidor
app.listen(port, () => {
  console.log(`Servidor escuchando en http://localhost:${port}`);
});

Paso 6: Ejecuta y Prueba

  1. Ejecuta tu aplicación Node.js:

    node app.js

  2. Utiliza herramientas como Postman o curl para probar tus rutas CRUD. Por ejemplo:

    *. Actualiza un producto: Envía una solicitud PUT a
    http://localhost:3000/api/productos/{id} con los datos actualizados del producto.

Escribe tu comentario
+ 2