Tus-Libros

Description

Implementación de un sistema de compras online de libros para la editorial TusLibros

Details

Source
GitHub
License
MIT
Created
March 2, 2026
Updated
March 3, 2026
Topics
agile-methodologies api-rest object-oriented-programming smalltalk

Categories

Web System / OS

README excerpt

Implementación de un sistema de compras online de libros para la editorial TusLibros desarrollado para Ingeniería de Software I (FIUBA).

> Este proyecto fue desarrollado en **Cuis University** (no en Smalltalk “puro” por fuera de Cuis), y la ejecución local se hace iniciando el backend desde Cuis y luego consumiéndolo desde un frontend web.

Para descargar la versión de Cuis indicada se puede visitar: https://sites.google.com/view/cuis-university

## Integrantes

- Franco Guardia
- Ezequiel Roselló

## Descripción

TusLibros implementa una API REST para:

- crear carrito
- agregar ítems al carrito
- listar contenido del carrito
- checkout
- listar compras de un cliente

El sistema valida reglas de negocio antes de impactar en el procesador de pagos.

## Requisitos

- **Cuis University** (versión más reciente)
- Sistema operativo: Linux / macOS / Windows
- Navegador web moderno
- (Opcional) Frontend separado para probar la API desde UI

## Estructura del proyecto

```text
.
├── TusLibros.st           # archivo original del proyecto (sin cambios)
├── TusLibros-Solucion.st  # archivo actualizado con todos los cambios
├── frontend.zip           # zip con los archivos del frontend del proyecto
└── README.md
```

## Cómo ejecutar

Luego de haber descargado la versión de Cuis indicada anteriormente descomprimir el zip obtenido para tener una imagen y ejecutarla (siguiendo los pasos indicados en el tutorial de la misma página)

### 1) Abrir Cuis

1. Iniciar Cuis.
2. Cargar el código del proyecto (File In).
3. Verificar que las clases del proyecto queden cargadas correctamente.

### 2) Levantar backend desde Cuis

Desde un Workspace de Cuis, ejecutar el script/mensaje de arranque del servidor HTTP:

```smalltalk
"Ejemplo:"
TusLibrosServer listenOn: 8080.
```

Si todo sale bien, la API debería quedar escuchando en:

http://localhost:8080

### 3) Conectar frontend y abrir en navegador

1. Configurar la URL base de API a http://localhost:8080
2. Levantar el frontend
3. Abrir http://localhost:8080 en el navegador

Para poder levantar el frontend es necesario haberlo descomprimido antes y ejecutado en una terminal los comandos que allí se indiquen (para el setup necesario)

## Endpoints principales

- POST /createCart
- POST /addToCart
- GET /listCart
- POST /checkOutCart
- GET /listPurchases

## Ejemplo rápido de prueba (sin frontend)

1. Crear carrito
2. Agregar libro
3. Listar carrito
4. Hacer checkout
5. Listar compras

## Tests

Dentro del propio Cuis se encuentran los tests de cada entidad modelada y se pueden correr desde allí mismo

## Notas

- Es posible que se necesite instalar la extensión CORS Everywhere en el navegador para que este no bloquee la conexión con el frontend y se pueda acceder a la página

## Créditos

Proyecto realizado como trabajo práctico académico en la materia Ingeniería de Software I (FIUBA).
← Back to results