Volver a Proyectos

Tienda Online

E-commerce completo con PHP y MySQL — desarrollado en 7 versiones

Descripción General

Aplicación de comercio electrónico construida de cero con PHP y MySQL. El proyecto se desarrolló de forma progresiva en 7 versiones, añadiendo funcionalidad en cada iteración: desde páginas HTML estáticas hasta un flujo de compra completo con base de datos relacional.

Implementa el ciclo completo de una tienda: catálogo dinámico desde BD, detalle de producto, carrito de compra con selección de cantidad y proceso de checkout con registro de cliente, pedido y líneas de pedido respetando claves foráneas.

Tecnologías Utilizadas


PHP 8

MySQL

HTML5

CSS3

MySQLi

Características Clave

  • Catálogo dinámico: Productos cargados desde MySQL con imagen, nombre, descripción y precio
  • Detalle de producto: Página individual con selector de cantidad (1–10 unidades)
  • Carrito de compra: Resumen del pedido antes de confirmar, datos pasados por POST
  • Checkout completo: Formulario de datos del cliente e inserción en BD en cascada
  • Base de datos relacional: 4 tablas con claves foráneas (producto, cliente, pedido, lineaspedido)
  • Componentes reutilizables: Cabecera y pie de página como includes PHP
  • Patrón PRG: Post-Redirect-Get para evitar reenvíos del formulario

Evolución del Proyecto

  • V0.1 — Inicio: Estructura HTML básica y navegación entre páginas
  • V0.2 — Contenido: Estilos CSS e includes reutilizables (cabecera/pie)
  • V0.3 — BBDD: Diseño del esquema relacional y datos de ejemplo
  • V0.4 — Paso de artículo: Carga dinámica de productos desde base de datos
  • V0.5 — Carrito: Funcionalidad de carrito con selección de cantidad
  • V0.6 — Finalización: Checkout con inserción de cliente, pedido y líneas
  • V0.7 — Ajustes estéticos: Versión final pulida con diseño naranja/gradiente

Esquema de Base de Datos

Base de datos: tiendaonlinedamdaw — 4 tablas relacionadas:

  • producto: id, nombre_producto, descripcion, precio, stock, imagen
  • cliente: id, nombre_cliente, apellidos, email, direccion, telefono
  • pedido: id, fecha, cliente_id (FK → cliente)
  • lineaspedido: id, pedido_id (FK → pedido), cantidad, producto_id (FK → producto)

Mi Rol

Desarrollador Full-Stack (PHP + MySQL)

Diseñé el esquema de base de datos relacional, implementé toda la lógica de servidor con PHP y MySQLi procedural, y construí el flujo completo de compra desde el catálogo hasta la confirmación del pedido. El proyecto se desarrolló de forma iterativa añadiendo una capa de funcionalidad por versión.

Estado

Estado: ⚡ Proyecto de Aprendizaje

Proyecto académico desarrollado durante el ciclo formativo de DAM. Demuestra el dominio del ciclo completo de desarrollo web con PHP, desde el diseño de la BD hasta el frontend.