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.