Repository navigation
MVC
En el proceso de desarrollo de nuestro E-commerce, hemos intentado seguir una arquitectura basada en el patrón MVC en el lado del servidor. Esto significa que hemos organizado la estructura de nuestro proyecto de manera que las responsabilidades estén claramente separadas y se cumpla con la filosofía de 'una sola responsabilidad' para cada componente del sistema.
Modelo (Model): Hemos definido modelos que representan la capa de datos de nuestro E-commerce. Estos modelos se encargan de interactuar con la base de datos, realizar operaciones de lectura y escritura, y mantener la integridad de los datos. Cada modelo se asocia con una entidad específica, como productos, categorías, usuarios, etc. Utilizamos Mongoose para la definición de los modelos y la interacción con la base de datos.
Vista (View):Al no utilizar vistas, empleamos una estrategia de renderización directa desde los controladores. En lugar de tener componentes de vista separados, los controladores podrían formatear directamente la información y presentarla al usuario, generando respuestas HTML o JSON directamente
Controlador (Controller):Gestionan las solicitudes del cliente, interactúan con los modelos para obtener los datos necesarios y muestran la respuesta al cliente. Los controladores también se encargan del enrutamiento y la lógica de negocio. Utilizamos Express.js para facilitar la creación de rutas y controladores en nuestro servidor Node.js.
Esta organización en capas nos ha permitido mantener un código limpio, modular y fácilmente mantenible. Cada componente desempeña un papel específico en el flujo de la aplicación, lo que facilita la colaboración entre miembros del equipo y la escalabilidad del proyecto. Si bien siempre hay desafíos en el desarrollo de un E-commerce, la arquitectura MVC ha sido una base sólida en la que construir y hacer crecer nuestro sistema, brindando una estructura ordenada y coherente a lo largo de todo el proyecto.