Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Carrito de Compras JSF

Aplicación web básica desarrollada con JSF (JavaServer Faces) para gestionar un carrito de compras. Proyecto académico sin base de datos, los datos se almacenan en sesión.

Tecnologías

  • JSF 2.3 (Mojarra)
  • Java 11
  • Maven 3.9
  • Apache Tomcat 9.0
  • Docker & Docker Compose

Estructura del Proyecto

CarritoJSF/
├── src/main/
│   ├── java/com/carrito/
│   │   ├── beans/
│   │   │   └── CarritoBean.java          # ManagedBean con lógica del carrito
│   │   └── model/
│   │       ├── Product.java               # Modelo de producto
│   │       └── CartItem.java              # Modelo de item del carrito
│   └── webapp/
│       ├── WEB-INF/
│       │   ├── web.xml                    # Descriptor de despliegue
│       │   └── faces-config.xml           # Configuración JSF
│       ├── index.xhtml                    # Página principal
│       ├── agregar.xhtml                  # Formulario agregar productos
│       └── carrito.xhtml                  # Gestión del carrito
├── Dockerfile
├── docker-compose.yml
└── pom.xml

Funcionalidades

3 Pantallas Principales

  1. index.xhtml - Página principal con navegación
  2. agregar.xhtml - Agregar productos al carrito (ID + Nombre)
  3. carrito.xhtml - Gestionar el carrito:
    • Ver productos agregados
    • Aumentar/disminuir cantidad
    • Editar nombre del producto
    • Eliminar productos
    • Vaciar carrito

Requisitos Previos

  • Docker y Docker Compose instalados
  • Alternativamente: Java 11+ y Maven 3.9+

Despliegue con Docker

Opción 1: Docker Compose (Recomendado)

# Construir y levantar el contenedor
docker compose up --build

# En segundo plano
docker compose up -d --build

# Detener
docker compose down

Opción 2: Docker manual

# Construir imagen
docker build -t carrito-jsf .

# Ejecutar contenedor
docker run -d -p 8080:8080 --name carrito-jsf-app carrito-jsf

# Detener
docker stop carrito-jsf-app
docker rm carrito-jsf-app

Acceder a la aplicación

Una vez desplegado, accede a:

http://localhost:8080/

Despliegue Local (sin Docker)

# Compilar
mvn clean package

# Desplegar en Tomcat
# Copiar target/carrito-jsf.war a $TOMCAT_HOME/webapps/ROOT.war

# O usar Maven con Tomcat plugin
mvn tomcat7:run

Uso de la Aplicación

  1. Página Principal: Selecciona "Agregar Producto" o "Ver Carrito"
  2. Agregar Producto:
    • Ingresa un ID (número)
    • Ingresa el nombre del producto
    • Click en "Agregar al Carrito"
  3. Gestionar Carrito:
    • Usa los botones + / - para ajustar cantidades
    • Click en "Editar" para cambiar el nombre
    • Click en "Eliminar" para quitar un producto
    • Click en "Vaciar Carrito" para limpiar todo

Verificación de JSF

La aplicación usa JSF correctamente:

  • Archivos .xhtml con Facelets
  • Componentes JSF: h:form, h:inputText, h:commandButton, h:dataTable, h:messages, h:link
  • ManagedBean con @ManagedBean y @SessionScoped
  • Navegación JSF con outcome
  • Binding bidireccional con EL (#{})
  • Validación con required y mensajes
  • web.xml con FacesServlet configurado
  • faces-config.xml para configuración JSF

Notas

  • Los datos se almacenan en sesión HTTP
  • Al reiniciar el servidor, se pierden los datos
  • Cada navegador tiene su propia sesión independiente
  • Proyecto diseñado para evaluación académica

Autor

Alejandro Pinzon Fajardo - Arquitectura de Software

About

Creacion de una AppWeb usando JSF que permita crear un carrito de compras y hacer su mantenimiento y gestion

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages