Este repositorio contiene mi proyecto final del curso de backend, que consiste en un e-commerce desarrollado utilizando Node.js. El proyecto sigue una arquitectura de repositorio y ofrece un sistema de gestión de base de datos flexible, con opciones para utilizar MongoDB, TXT o Firebase como soluciones de almacenamiento. Características principales:
- Lista de productos: El sistema cuenta con una lista de productos disponibles para su compra.
- Panel de administración: Existe un panel de administración donde se puede visualizar el carrito de compras de los usuarios.
- Sistema de autenticación: Se ha implementado un sistema de autenticación seguro utilizando Passport.
- Sistema de mensajería: Los usuarios pueden intercambiar mensajes a través del sistema.
- Almacenamiento de datos de usuario: Se guarda la información del usuario en una base de datos, permitiendo la carga de fotos de perfil.
Puedes acceder al proyecto en vivo en el siguiente enlace: http://100.26.227.167:3000/
- Node.js
- Passport (autenticación)
- Mongoose (base de datos)
- Firebase (base de datos alternativa)
- FileSystem (sistema de archivos)
- Bcrypt (encriptación de contraseñas)
- Socket.io (actualización en tiempo real)
- Dotenv (variables de entorno)
- Handlebars (motor de plantillas)
- Multer (carga de imágenes)
- Winston (gestión de logs)
- Joi (validación de DTOs)
¡Siéntete libre de explorar el repositorio y contribuir en su desarrollo!