https://github.com/jetbear69/tarea-idl2
https://github.com/jetbear69/tarea-idl2
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/jetbear69/tarea-idl2
- Owner: Jetbear69
- Created: 2025-08-19T02:44:55.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-19T02:57:22.000Z (11 months ago)
- Last Synced: 2025-08-19T04:33:21.554Z (11 months ago)
- Language: JavaScript
- Size: 4.25 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API de Productos
Este proyecto es una API REST para la gestión de productos, que permite realizar operaciones CRUD completas, así como búsquedas y filtros avanzados. La API está construida con Node.js y Express, y utiliza MongoDB como base de datos.
## Estructura del Proyecto
```
api-productos
├── src
│ ├── controllers # Controladores para manejar la lógica de negocio
│ │ └── productoController.js
│ ├── models # Modelos de datos
│ │ └── producto.js
│ ├── routes # Rutas de la API
│ │ └── productoRoutes.js
│ ├── app.js # Punto de entrada de la aplicación
│ └── config # Configuración de la base de datos
│ └── db.js
├── package.json # Configuración de npm
├── .env # Variables de entorno
├── README.md # Documentación del proyecto
└── swagger.json # Documentación de la API en formato Swagger
```
## Instalación
1. Clona el repositorio:
```
git clone
cd api-productos
```
2. Instala las dependencias:
```
npm install
```
3. Inicia la aplicación:
```
npm start
```
## Endpoints de la API
- `GET /api/productos` - Listar todos los productos.
- `GET /api/productos/:id` - Obtener un producto por ID.
- `POST /api/productos` - Crear un nuevo producto.
- `PUT /api/productos/:id` - Actualizar producto por ID.
- `DELETE /api/productos/:id` - Eliminar producto por ID.
## Filtros y Búsquedas
- `GET /api/productos?categoria=Electrónica` - Filtrar por categoría.
- `GET /api/productos?minPrecio=100&maxPrecio=500` - Filtrar por rango de precios.
- `GET /api/productos?nombre=tv` - Buscar productos por coincidencia en el nombre.
- `GET /api/productos?stockMenor=10` - Listar productos con stock bajo.
## Consultas Avanzadas
- `GET /api/productos/reportes/categoria` - Contar cuántos productos hay por categoría.
- `GET /api/productos/reportes/promedio-precio` - Calcular precio promedio de productos.
- `PUT /api/productos/actualizar-precios?porcentaje=10` - Actualización masiva de precios.
## Buenas Prácticas
- Respuestas en formato JSON.
- Manejo de errores (400, 404, 500).
- Validación de datos en entradas.
- Documentación de endpoints con Swagger o Postman.