En esta ocasión definiremos un primer modelo de nuestra base de datos. La intención es tener un modelo inicial, que incluya los componentes más importantes; más adelante agregaremos algunas cosas a este modelo. Lo haremos así para tener elementos para comenzar a trabajar y no preocuparnos por hacer un super-modelo completo de la base de datos, que quizás nos llevaría mucho tiempo terminar.

Entonces, tendremos en nuestro primer modelo estas entidades, sin ningún orden particular:

  • Cliente
  • Producto
  • Categoría
  • Canasta*
  • Pedido

* Canasta se descompone en la entidad Canasta principal, y una entidad de detalle llamada Canasta_desglose

Entonces nuestro modelo será:

Si deseas agregar este modelo a tu propia instalación de MySQL, acá mismo puedes descargar el archivo de exportación, el cual podrás importar a tu MySQL local:

tiendavirtual1.sql

Estamos listos para comenzar con el código, ¿te animas?

Ahora, ya que tenemos las herramientas instaladas y listas, deberemos tener una idea general de lo que vamos a hacer y como lo vamos a hacer. Este es un diseño sencillo, sin muchas complicaciones, es más demostrativo que completo.

Primero, una descripción verbal de lo que hará la Tienda Virtual:

Una Tienda Virtual es un catálogo de productos, el cual puede ser consultado por cualquiera, y en el que opcionalmente un visitante puede seleccionar ciertos productos que él elija, agregándolos a un “carrito de compra”; si el usuario decide comprar, entonces la Tienda Virtual le solicitará sus datos y le permitirá hacer un pago con tarjeta de crédito, con la ayuda de un tercero.

Así, podemos identificar algunos de los componentes de la Tienda Virtual:

  • Catálogo: organiza los productos en categorías, y permite al usuario consultar los productos, de acuerdo a dichas categorías. También muestra con detalle la información de cada producto (foto, nombre, marca, modelo, precio, características particulares).
  • Carrito de compras: es una lista de los productos que el usuario tiene intención de comprar; almacena los productos y las cantidades que de los mismos se han elegido. Esta lista se puede modificar, agregando o quitando productos y modificando sus cantidades. En todo momento ha de reportar al usuario el monto total de la compra.
  • Cobro: permite que el usuario adquiera los productos de su carrito de compras, proporcionando sus datos de envío (nombre completo, dirección de entrega, teléfono) y aceptando los datos de su tarjeta de crédito, para que, por medio de un tercero, se haga el pago correspondiente.

Así, podemos ir pensando en partir nuestra aplicación en varios programas PHP, de este modo:

  • Catálogo:
    • catalogo.php: mostrará las categorías de producto, permitirá al usuario navegar en las categorías, y listará todos los productos que pertenezcan a la categoría vista.
    • producto.php: mostrará las características propias de cada producto, incluyendo foto, precio y otros datos. También permitirá agregar el producto a la vista, al carrito de compras.
  • Carrito de compras:
    • carrito.php: muestra el contenido del carrito, con cantidades, subtotal y total. Permite también modificar las cantidades y quitar productos, recalculando automáticamente el total.
  • Cobro:
    • datos.php: solicita los datos de envío y de la tarjeta de crédito, los envía a la empresa que hace los cobros con tarjeta de crédito.
    • respuesta.php: recibe la respuesta de la empresa de cobros y muestra al usuario el resultado.

¡Bien! Ahora ya sabemos cuales serán los componentes principales de la aplicación, desde el punto de vista de PHP. En la siguiente entrega, veremos el diseño de la base de datos.

El IDE NetBeans es una herramienta para programadores pensada para escribir, compilar, depurar y ejecutar programas. Está escrito en Java – pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para extender el IDE NetBeans. El IDE NetBeans es un producto libre y gratuito sin restricciones de uso. (Wikipedia)

Existen otros editores y ambientes de trabajo para PHP, pero en esta aventura usaremos Netbeans por la facilidad con que nos ayudará a editar y probar nuestros programas. En otras aventuras futuras usaremos otras herramientas; usar Netbeans ahora es una posibilidad muy interesante, de la que podemos aprender mucho.

Descarga e instala Netbeans. Si ya tienes instalado Java, es probable que no necesites más. Pero si aun no has instalado Java, te recomiendo que descargues el paquete que integra Netbeans + Java, así te ahorrarás tiempo. Si tienes problemas con la instalación, hay ayuda disponible.

Nota: si tienes una computadora con arquitectura x64 y sistema operativo de 64 bits… no te molestes en instalar Java de 64 bits; hay pocas aplicaciones que lo usan al máximo y Netbeans no es una de ellas.

Ya instalado Netbeans, haz esto para comenzar:

  1. Inicia Netbeans.
  2. Abre el menú Tools -> Plugins, aparecerá una ventana.
  3. Abre la pestaña “Available plugins”, y busca aquel plugin que se llama “PHP”. Selecionalo y haz clic en el botón “install”.

Con esto ya tendrás instalado el soporte para PHP desde Netbeans.

Si quieres más instrucciones de como usar Netbeans, busca en Google. Hay un manual muy simple y bueno que hizo Jason Arturo Galvez Estrada, y que puedes descargar aquí: netbeans-6.0manual-beta1.

¿Estás listo para la siguiente etapa?

Si ya tienes un servidor con PHP y MySQL, entonces no necesitas leer esto. Espera la siguiente entrega.

XAMPP es un paquete de instalación, que instala y configura en una computadora los servicios:

  • Apache
  • MySQL
  • PHP
  • Perl

Se puede instalar en Linux, Windows, Mac y Solaris. Es gratuito y simple de instalar.

Con este paquete podemos tener un servidor en nuestra PC en cuestión de minutos, allí podremos hacer pruebas y desarrollar nuestra aplicación sin afectar a un servidor de producción.

Descárgalo e instálalo. No te voy a explicar en detalle como instalarlo, porque no es el tema de esta aventura. Pero puedes conseguir ayuda en otro lado.

Ya que termines, asegúrate de saber:

Como iniciar y detener los servicios PHP y MySQL

Donde crear directorios web

Como administrar MySQL con PHPMyadmin

Ahora, espera la siguiente entrega de esta aventura.

Hola, en esta ocasión diré cuales son las herramientas que usaremos para esta aventura. Como en muchas ocasiones de la vida, la elección de las herramientas definirá nuestra habilidad para ir resolviendo los problemas que vayan surgiendo.

Antes mencioné que usaríamos PHP, MySQL y un servidor web. Ahora soy más específico:

  • XAMPP, para tener un servidor local Apache en donde hacer pruebas, y así poder usar PHP y MySQL.
  • Netbeans para editar y mantener el código de nuestra Tienda Virtual.
  • Filezilla para subir los archivos finales al servidor web. También podemos usar Netbeans para esto.

Descárgalos e instálalos en tu Windows.

Si ya te decidiste a participar en este proyecto, entonces comenzamos con el nombre. Es muy importante comenzar por el nombre del proyecto, es el primer paso, dar nombre a lo que vamos a crear. Este proyecto se llama Tienda Virtual, así de simple.

Bien, ahora debemos definir lo que queremos lograr.  Al final de este proyecto:

  • Tendremos una Tienda Virtual funcional, montada en un servidor visible en Internet.
  • Habremos aprendido a implementar una Tienda Virtual, desde cero.

Para este proyecto usaremos PHP y MySQL, que son herramientas sencillas y poderosas. Pude haber elegido otras, pero estas son lo suficientemente simples para no tomarnos mucho trabajo entenderlas.

También necesitaremos un servidor web, que soporte PHP. Podemos implementar un servidor en nuestra computadora personal, usando un paquete Linux+Apache+PHP+MySQL (LAMP) o Windows+Apache+PHP+MySQL (WAMP).

Hay que aclarar que en caso de que necesitemos implementar una Tienda Virtual comercialmente funcional, hay que agregar previsiones de seguridad, que van mucho más allá de este pequeño proyecto. Quizás en proyecto futuro hablemos de eso.

¿Estás listo?

¿Qué te parecería hacer tu propia tienda virtual?

El comercio electrónico es una actividad boyante y además muy interesante, por la gran cantidad de usuarios que ya le han perdido el miedo a usar sus tarjetas de crédito, el interés de mucho comercios “pequeños” en vender por Internet y por que en general la seguridad en Internet ha mejorado (aunque también hay más riesgos).

Pero, ¿qué hacer cuando nos piden implementar un sitio de comercio electrónico?

Una opción es utilizar algún paquete de comercio electrónico ya hecho, como osCommerce o Zen Cart; o también puede contratar un servicio completo de comercio electrónico, como PlazaWeb. Estos tienen la ventaja de ser proyectos maduros, muy robustos y seguros, y conocidos por miles de programadores que comparten sus experiencias en foros.

Sin embargo, si eres de los aventureros, o te gusta hacer las cosas por ti mismo, o vas a utilizar un paquete pre hecho, pero quieres saber como funciona… Lo mejor para ti es hacer tu propia Tienda Virtual.

Así que, sígueme en esta pequeña aventura.

Construiremos un sitio simple de comercio electrónico, con productos, categorías de productos, usuarios, canasta de compras y hasta hablaremos de como conectarnos con una entidad bancaria, para cobro con tarjeta de crédito.

¿Te unes?

Presentación

Este es mi blog. Aquí presento cosas que son interesantes para mi, y que quizás también lo sean para otros.

El objetivo es explorar y compartir lo aprendido.