Este proyecto es una aplicación desarrollada como parte del curso de Backend/Node.js (Comisión 26132). Implementa un cliente para la API FakeStore que permite realizar operaciones "CRUD" sobre productos de forma interactiva desde la terminal.
El sistema debe interpretar comandos ejecutados desde la terminal y realizar las siguientes operaciones:
Comando: npm run start GET products
Realiza una petición asincrónica a la API y devuelve la lista completa de productos en la consola.
npm run start GET productsComando: npm run start GET products/<productId>
Obtiene y muestra el producto correspondiente al ID indicado.
npm run start GET products/15Comando: npm run start POST products <title> <price> <category>
Envía una petición POST a la API para agregar un nuevo producto con los datos proporcionados y devuelve el ID del producto creado.
npm run start POST products "T-Shirt-Rex" 300 remerasComando: npm run start DELETE products/<productId>
Envía una petición DELETE para eliminar el producto correspondiente y devuelve la respuesta en consola.
npm run start DELETE products/7- Node.js (versión 14 o superior)
- npm
Para ejecutar cualquiera de los comandos anteriores:
npm run start <METODO> <RECURSO> [PARAMETROS]Obtener todos los productos:
npm run start GET productsObtener un producto específico (ID 5):
npm run start GET products/5Crear un nuevo producto:
npm run start POST products "Laptop" 999.99 electronicsEliminar un producto (ID 10):
npm run start DELETE products/10.
├── index.js # Archivo principal con la clase FakeStoreApi
├── package.json # Configuración del proyecto y dependencias
└── README.md # Este archivo
La clase FakeStoreApi se encarga de:
- obtenerProductos(): Obtiene la lista completa de productos
- obtenerProductoPorId(id): Obtiene un producto específico por su ID
- agregarProducto(title, price, category): Crea un nuevo producto
- borrarProductoPorId(id): Elimina un producto por su ID
Todos los métodos incluyen:
- Manejo de errores con try-catch
- Validación de respuestas HTTP
- Mensajes informativos en consola
- Node.js: Runtime de JavaScript en el servidor
- Fetch API: Para realizar peticiones HTTP
- FakeStore API: API pública de productos para testing
La aplicación implementa un sistema robusto de manejo de errores:
- Validación del estado de respuesta HTTP (
res.ok) - Captura de excepciones con try-catch
- Mensajes de error descriptivos en consola
- Códigos de estado y mensajes personalizados
Mariano C. - Comisión 26132