API REST para la gestión de un Carrito de Compras, desarrollada con Express.js. Este proyecto proporciona endpoints para manejar productos, carritos y usuarios dentro de un sistema de e-commerce, incluyendo autenticación y manejo de roles.
- Gestión de productos (crear, leer, actualizar y eliminar productos).
- Sistema de autenticación basado en sesiones.
- Roles de usuario: usuario, premium, admin.
- Carrito de compras con múltiples productos.
- Pagos simulados y finalización de compra.
- Node.js con Express.js para el servidor.
- MongoDB como base de datos, manejado con Mongoose.
- JWT/Sesiones para la autenticación.
- Multer para la gestión de archivos (imágenes de productos).
- Winston para la gestión de logs.
- Artillery para pruebas de carga.
Aquí algunos de los principales endpoints de la API:
Método | Endpoint | Descripción |
---|---|---|
GET | /api/products |
Listar productos |
POST | /api/products |
Crear un nuevo producto (admin/premium) |
PUT | /api/products/:id |
Actualizar un producto (admin/premium) |
DELETE | /api/products/:id |
Eliminar un producto (admin/premium) |
POST | /api/carts |
Crear un nuevo carrito |
POST | /api/carts/:id/purchase |
Finalizar compra |
Ver |
git clone https://github.com/Cesar-Ignacio/Backend-E-commerce.git
cd Backend-E-commerce
npm install
npm run dev
-
Clonar el repositorio:
git clone https://github.com/usuario/proyecto-ecommerce.git
-
Instalar las dependencias:
cd proyecto-ecommerce npm install
-
Configurar variables de entorno en un archivo
.env
:PORT=3000 MONGODB_URI=mongodb://localhost/ecommerce SESSION_SECRET=tu_secreto
-
Iniciar el servidor:
npm start
-
Accede a la API en:
http://localhost:3000
.
Para ver la documentación completa de los endpoints y los datos de prueba, visita:
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.