Skip to content

mcattani/Curso_Backend_NodeJs_26132

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Curso Backend Node.js - Comisión 26132

Descripción del Proyecto

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.

Requisitos Funcionales

El sistema debe interpretar comandos ejecutados desde la terminal y realizar las siguientes operaciones:

1. Consultar Todos los Productos

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 products

2. Consultar un Producto Específico

Comando: npm run start GET products/<productId>

Obtiene y muestra el producto correspondiente al ID indicado.

npm run start GET products/15

3. Crear un Producto Nuevo

Comando: 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 remeras

4. Eliminar un Producto

Comando: 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

Instalación

Prerrequisitos

  • Node.js (versión 14 o superior)
  • npm

Uso

Para ejecutar cualquiera de los comandos anteriores:

npm run start <METODO> <RECURSO> [PARAMETROS]

Ejemplos

Obtener todos los productos:

npm run start GET products

Obtener un producto específico (ID 5):

npm run start GET products/5

Crear un nuevo producto:

npm run start POST products "Laptop" 999.99 electronics

Eliminar un producto (ID 10):

npm run start DELETE products/10

Estructura del Proyecto

.
├── index.js          # Archivo principal con la clase FakeStoreApi
├── package.json      # Configuración del proyecto y dependencias
└── README.md         # Este archivo

Implementación

Clase FakeStoreApi

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

Tecnologías Utilizadas

  • Node.js: Runtime de JavaScript en el servidor
  • Fetch API: Para realizar peticiones HTTP
  • FakeStore API: API pública de productos para testing

Gestión de Errores

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

Autor

Mariano C. - Comisión 26132

About

Repo del curso de Backend/NodeJs Com. 26132

Resources

Stars

Watchers

Forks

Contributors