Implementación de un sistema de compras online de libros para la editorial TusLibros
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).