Framework Express.js

Arquitectura profesional backend inspirada en Django, estructuración modular, APIs REST, separación de responsabilidades y buenas prácticas modernas para proyectos escalables.

Repositorio de ejemplo:

https://github.com/ricardollerenad/BDA/tree/main/lab_9

Agenda

Arquitectura MVC

Separación lógica entre rutas, controladores, modelos y configuración.

Estructura Profesional

Organización inspirada en Django para proyectos escalables.

MongoDB

Persistencia de datos usando Mongoose y arquitectura desacoplada.

CRUD REST API

Creación de APIs modernas y reutilizables.

¿Qué es Express?

Express.js es un framework minimalista para Node.js que facilita la construcción de servidores web, APIs REST y arquitecturas backend escalables utilizando middleware, rutas y modularización.

Ligero

Minimalista y altamente flexible.

Middleware

Arquitectura basada en capas reutilizables.

Escalable

Ideal para microservicios y APIs.

Estructura Profesional

backend/
│
├── config/
│   └── db.js
│
├── controllers/
│   └── userController.js
│
├── models/
│   └── User.js
│
├── routes/
│   └── userRoutes.js
│
├── middlewares/
│
├── services/
│
├── utils/
│
├── index.js
│
├── package.json
│
└── .env

Archivos más importantes

index.js

Punto de entrada principal del servidor Express.

db.js

Configura y administra la conexión con MongoDB.

routes/

Define endpoints y organiza rutas REST.

controllers/

Contiene la lógica de negocio desacoplada.

models/

Representa estructuras y validaciones de MongoDB.

middlewares/

Autenticación, logs, validaciones y seguridad.

Flujo CRUD REST

CREATE

POST → Crear nuevos registros en MongoDB.

READ

GET → Consultar información almacenada.

UPDATE

PUT → Modificar documentos existentes.

DELETE

DELETE → Eliminar registros de forma segura.

Ejemplo Express + MongoDB

const express = require('express');
const cors = require('cors');

const app = express();

app.use(cors());
app.use(express.json());

app.get('/', (req,res)=>{
    res.json({
        status:"OK"
    });
});

app.listen(3000,'0.0.0.0',()=>{
    console.log("Servidor activo");
});

Ventajas de esta Arquitectura

Característica Beneficio
Modularidad Facilita mantenimiento y escalabilidad
Separación MVC Código limpio y reutilizable
Middleware Mayor seguridad y control
MongoDB Flexibilidad documental moderna
Express Rapidez de desarrollo

Diagrama de Secuencia

Flujo de comunicación de express, Express y MongoDB durante una operación CRUD.

Diagrama de Secuencia

Gracias 🚀

Express permite construir arquitecturas backend modernas, escalables y desacopladas utilizando principios profesionales similares a frameworks empresariales como Django.

Repositorio:

Ver Proyecto en GitHub