Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cesar-ignacio/backend-e-commerce
🛒 Desarrollo de API REST para Carrito de Compras con Express.js 🛍️
https://github.com/cesar-ignacio/backend-e-commerce
express handlebars mongodb-atlas mongoose multer node npm postman render socket-io
Last synced: about 1 month ago
JSON representation
🛒 Desarrollo de API REST para Carrito de Compras con Express.js 🛍️
- Host: GitHub
- URL: https://github.com/cesar-ignacio/backend-e-commerce
- Owner: Cesar-Ignacio
- Created: 2024-04-23T17:37:56.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-05-28T02:19:25.000Z (6 months ago)
- Last Synced: 2024-05-28T12:09:27.003Z (6 months ago)
- Topics: express, handlebars, mongodb-atlas, mongoose, multer, node, npm, postman, render, socket-io
- Language: JavaScript
- Homepage: https://backend-e-commerce-y9ud.onrender.com
- Size: 2.49 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BackEnd E-commerce 🛍️
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.
![532shots-so.png](https://i.postimg.cc/nzPLGMgd/532shots-so.png)
[Ver Proyecto en Vivo](https://backend-e-commerce-y9ud.onrender.com "Ver Proyecto en Vivo")
## Características
- 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.## Tecnologías Utilizadas
- **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.[![My Skills](https://skillicons.dev/icons?i=npm,nodejs,expressjs,mongodb)](https://skillicons.dev)
## Endpoints Principales
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](https://backend-e-commerce-y9ud.onrender.com/api/docs/)## Instalación Local
```bash
git clone https://github.com/Cesar-Ignacio/Backend-E-commerce.git
```
```bash
cd Backend-E-commerce
```
```bash
npm install
```
```bash
npm run dev
```## Instrucciones para Ejecutar Localmente
1. Clonar el repositorio:
```bash
git clone https://github.com/usuario/proyecto-ecommerce.git
```2. Instalar las dependencias:
```bash
cd proyecto-ecommerce
npm install
```3. Configurar variables de entorno en un archivo `.env`:
```plaintext
PORT=3000
MONGODB_URI=mongodb://localhost/ecommerce
SESSION_SECRET=tu_secreto
```4. Iniciar el servidor:
```bash
npm start
```5. Accede a la API en: `http://localhost:3000`.
## Documentación Completa
Para ver la documentación completa de los endpoints y los datos de prueba, visita:
- [Documentación de Endpoints y Respuestas](https://backend-e-commerce-y9ud.onrender.com/api/docs/)
- [Explicación y Datos de Prueba](https://automatic-doom-2f5.notion.site/Gu-a-de-Uso-y-Recursos-34baf4e0459c4a8ab4a9e38094b0aed0?pvs=4)## Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo [LICENSE](https://choosealicense.com/licenses/mit/) para más detalles.
---