Puntos claves para desarrollar un back-end API-REST en express para gestionar el servicio de manejo de usuarios:

Crear el proyecto de nodejs

Para crear el proyecto de nodejs se debe ejecutar el siguiente comando:

npm init -y

Instalar las dependencias necesarias

Para instalar las dependencias necesarias se debe ejecutar el siguiente comando:

npm install express mongoose dotenv cors morgan
  • express: Es un marco de aplicación web para Node.js que proporciona un conjunto robusto de características para las aplicaciones web y móviles.

  • mongoose: Es una biblioteca de Node.js que proporciona una solución directa y basada en esquemas para modelar los datos de su aplicación. Incluye construcción de consultas, validación de datos, ganchos de lógica de negocio y más, listos para usar.

  • dotenv: Este módulo carga variables de entorno desde un archivo .env a process.env. Esto es útil para ocultar información sensible como las claves de la API y las contraseñas de la base de datos.

  • cors: Es un paquete de Node.js para proporcionar un middleware de CORS (Cross-Origin Resource Sharing). Este middleware puede ser utilizado para permitir o restringir solicitudes cruzadas entre diferentes dominios.

  • morgan: Es un middleware de registro de solicitudes HTTP para Node.js. Se puede utilizar para registrar solicitudes HTTP en la consola y en archivos de registro.

Crear el archivo .env

Para crear el archivo .env se debe ejecutar el siguiente comando:

touch .env

Crear el archivo .gitignore

Para crear el archivo .gitignore se debe ejecutar el siguiente comando:

touch .gitignore

-ejemplo de contenido para el gitignore de nodejs:

https://www.toptal.com/developers/gitignore/api/node

Estructura de carpetas propuesta

src
│   app
│   controllers
|   middlewares
│   database
│   models
│   routes
│   services

texto_alternativo

Endpoints de la API de usuarios

Crear usuario

Para crear un usuario se debe realizar una petición POST a la ruta /api/users con los siguientes datos:

{
    "name": "nombre",
    "email": "correo",
    "password": "contraseña"
}

Login usuario

Para loguear un usuario se debe realizar una petición POST a la ruta /api/auth con los siguientes datos:

{
    "email": "correo",
    "password": "contraseña"
}

Actualizar los datos de un usuario

Para actualizar los datos de un usuario se debe realizar una petición PUT a la ruta /api/users/:id con los siguientes datos:

{
    "name": "nombre",
    "email": "correo",
    "password": "contraseña"
}

Eliminar usuario

Para eliminar un usuario se debe realizar una petición DELETE a la ruta /api/users/:id

Listar todos los usuarios

Para listar todos los usuarios se debe realizar una petición GET a la ruta /api/users

Conectar a una base de datos MONGODB utilizando mongoose

Para conectar a una base de datos MONGODB utilizando mongoose se debe realizar la siguiente configuración:

const mongoose = require("mongoose");

const dbConnection = async () => {
  // intenta algo
  try {
    await mongoose.connect("url de la base de datos");
    console.log("Base de datos conectada");

    // y si hay un error, capturalo
  } catch (error) { 
    console.log(error);
  }
};

module.exports = { dbConnection };