Sobre este trabajo:

Cliente:
Simulado
Año:
2010

A finales de 2010 acabé el Curso de Desarrollo de Aplicaciones Web Dinámicas de la UNED. El proyecto más importante, con el que más aprendí y el que más me costó, fue este de creación de una tienda de comercio electrónico.

Ya había hecho, en gran medida, el diseño en css en otro trabajo. Ahora, tenía que programar la funcionalidad en php. Me costó lo mío, pero estoy bastante contento con el resultado. Como no dispongo de una URL en la que mostrarlo, explico los aspectos de los que constaba la página:

Aunque en un principio intenté hacer la página “desde cero” luego vi que me sería muy complicado si no usaba algún framework de desarrollo. Así que elegí Symfony y desarrollé la página sobre esa base.

La página que creáramos para este trabajo tendría unos requisitos:

  • Sistema de gestión de usuarios, con diferentes niveles de permisos.
  • Pasarela de pago.
  • Productos organizados por categorías y almacenados en una base de datos en MySql.
  • Carrito de la compra.

Como metas personales intenté que la página fuera fácil de usar, limpia y que no dependiera de JavaScript para funcionar (aunque sí incluyera mejoras con este lenguaje).

Como se puede ver en alguna captura, los nombres de producto y sus descripciones son un poco peculiares 😛 . El interrogante que se repite tantas veces es la imagen por defecto cuando no hay ninguna foto asociada al producto mostrado. En una página real, pondría un “no hay imagen de este producto”.

  • En la portada se muestra el producto más reciente de cada una de las 6 categorías principales.
  • Al hacer click en una categoría del menú superior (o del nombre de la categoría en la portada o el footer), el usuario pasa a la vista de categoría. Si la categoría seleccionada tiene otras subcategorías, se le muestran. De lo contrario, se le muestran los productos.
  • Cuando se selecciona un producto, se ven sus detalles completos (fotos, descripción detallada y características).
  • Si se quiere comprar el producto, se puede añadir al carrito, para lo cual hay que iniciar sesión.
  • Una vez el usuario se ha autenticado, puede añadir más productos al carrito o revisarlo.
  • La página cuenta con un sistema de búsqueda por AJAX, aunque si el usuario no dispone de JavaScript la búsqueda funciona igualmente.
  • Aunque no se incluía en los requisitos, creé una página de ejemplo de preguntas frecuentes, en la que los nombres de las preguntas son lo único que aparece inicialmente para facilitar su búsqueda. Cuando el usuario hace click en la pregunta que tiene, se despliega la respuesta.

Por otra parte, para insertar y editar productos, los administradores cuentan con un backend de acceso restringido.

En este caso, modifiqué el CSS por defecto de Symfony ligeramente para que fuera más acorde con el resto de la página, pero no gasté mucho tiempo en ello: lo importante era la funcionalidad en este caso.

El backend permite gestionar productos, categorías, ofertas, usuarios, etc. Filtra los productos y los pagina. Permite activarlos, borrarlos y editarlos fácilmente.

Como se puede ver, la página tiene bastantes cosas (aunque podría tener muchas más) y ha sido una buena manera de desarrollar en la práctica los conocimientos de PHP, MySQL y AJAX que había aprendido en la teoría del curso.

Deja un comentario