{"repo":"Bermelio/backend2Final","free":true,"listed":false,"github":"https://github.com/Bermelio/backend2Final","clone":"git clone https://github.com/Bermelio/backend2Final.git","description":"Backend profesional para un sistema de E-commerce, desarrollado con Node.js, Express y MongoDB, aplicando arquitectura en capas y patrones de diseño.","language":"JavaScript","stars":17,"topics":["api","authentication","authorization","backend","backend-development","bcrypt","ecommerce","express","javascript","jwt"],"license":null,"category":"auth-billing-email","readme_excerpt":"🛒 E-commerce Backend Backend profesional para un sistema de E-commerce, desarrollado con Node.js, Express y MongoDB , aplicando arquitectura en capas y patrones de diseño. --- 📚 Descripción Este proyecto implementa: - Arquitectura en capas (Routes, Controllers, Services, Repositories, DAOs). - Patrón Repository para desacoplar la lógica de negocio de la persistencia. - DTOs para exponer solo la información necesaria al cliente. - Autenticación con JWT y Passport . - Autorización por roles (Admin / User). - Proceso de compra completo con tickets, verificación de stock y notificaciones por email. - Seguridad avanzada : hasheo de contraseñas, cookies httpOnly, validaciones y sanitización. - Envío de emails (recuperación de contraseña y confirmación de compra). --- 🧩 Arquitectura Flujo de una request: Cliente → Routes → Middlewares → Controllers → Services → Repositories → DAOs → MongoDB - Routes : Definen endpoints. - Controllers : Reciben requests y llaman a la lógica de negocio. - Services : Contienen la lógica central. - Repositories : Abstraen el acceso a datos. - DAOs : Interactúan directamente con MongoDB. - DTOs : Transforman datos para el cliente. --- 🔐 Autenticación & Autorización - Login con JWT : Tokens en cookies httpOnly. - Roles : - Admin → gestiona productos. - User → compra y gestiona carrito. --- 🛒 Funcionalidades Clave - Carrito de compras con validación de stock. - Tickets de compra con código único y detalle de productos. - Actualización automática de st","default_branch":null,"files":null,"tree":[],"storefront":"/r/Bermelio","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Bermelio/backend2Final/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}