Proyecto fullstack de e-commerce con frontend React, backend PHP y base de datos MySQL para catalogo, carrito, pedidos, marketing, pagos, inventario y analitica.
8daa0be(2026-02-25): cambios por mayusculas/minusculas y despliegue en Vercel.9ba4157(2026-02-24): correcciones backend y ejecucion funcional.958f275(2026-02-24): refactor, resolucion de conflictos y depuracion backend.
- Monorepo con tres bloques principales:
web-proyect/(frontend React + Vite).Backend/(backend con capa legacy y capa modular nueva).DataBase/(modelo SQL, SPs, triggers, views y scripts de soporte).
- React
19.1.1 - React DOM
19.1.1 - React Router DOM
7.9.3 - Vite
7.1.2 - Tailwind CSS
4.1.12 @tailwindcss/vite4.1.12@fluentui/react-icons2.0.316react-icons5.5.0- ESLint 9
- PHP
7.4+. - Arquitectura hibrida:
- Capa legacy:
Backend/Routes,Backend/Controllers,Backend/Modelos. - Capa modular nueva:
Backend/src+Backend/public/index.php.
- Capa legacy:
- Acceso a datos con PDO (MySQL o SQLite por configuracion).
- MySQL/MariaDB.
- Script maestro:
DataBase/DB - Tablas/base_okea.sql. - Objetos SQL avanzados en
DataBase/DB - Objetos.
- Home comercial (presentacion, categorias, ofertas, recomendados, marcas, FAQ).
- Catalogo por categorias.
- Detalle de producto por slug.
- Carrito y checkout.
- Login y perfil (mock).
- Favoritos.
- Legacy API (
Backend/Routes/api.php):- Endpoints de
coupons,newsletter,favorites. - Logica REST simulada con datos en memoria.
- Endpoints de
- Core API modular (
Backend/src):- Servicios para cupones, newsletter, favoritos, carrito y pedidos.
- Validaciones centralizadas.
- Manejo de errores HTTP consistente.
- API key opcional por
.env.
- Modelo relacional para usuarios, catalogo, checkout, marketing y operacion.
- Stored procedures para flujos criticos.
- Triggers para auditoria/consistencia.
- Views para analitica.
US-01Como visitante quiero explorar categorias para encontrar productos facil.US-02Como cliente quiero ver detalle del producto para decidir compra.US-03Como cliente quiero gestionar carrito (agregar, quitar, editar cantidad).US-04Como cliente quiero registrar direccion para completar checkout.US-05Como cliente quiero generar pedido desde carrito.US-06Como cliente quiero aplicar cupones validos.US-07Como cliente quiero guardar favoritos.US-08Como cliente quiero suscribirme a newsletter.
US-09Como negocio quiero confirmar pedidos pagados.US-10Como negocio quiero reportes de pagos y pedidos por periodo.US-11Como negocio quiero control de inventario y stock.US-12Como negocio quiero logs para auditoria y soporte.
US-13Como equipo quiero separar capas para crecer sin deuda.US-14Como equipo quiero estandarizar API para apps externas.US-15Como equipo quiero CI con tests automaticos.
- Home + bloques comerciales.
- Catalogo por categorias.
- Detalle de producto por slug.
- Carrito UI.
- Login/perfil mock.
- Favoritos UI.
- Integracion real front-back.
- Persistencia real de sesion/auth.
- Endpoints legacy de marketing.
- Servicios backend modulares (marketing + checkout).
- Config DB por
.env. - Manejo de errores HTTP.
- Versionado de API (
/api/v1) con compatibilidad backward (/api). - Smoke tests livianos de contrato HTTP (
Backend/tests/smoke_api.ps1). - Login/registro y token Bearer firmado (
/api/auth/*). - Suite de tests automatizada (formal).
- Endurecer auth completa (refresh tokens, revocacion, roles en middleware).
- Esquema principal.
- SPs para operaciones clave.
- Triggers de auditoria/consistencia.
- Views analiticas.
- Migraciones automatizadas.
- Seeds oficiales de desarrollo.
- Alta con validacion de tipo, fechas, limites y duplicidad.
- Validacion por vigencia, estado, limites de uso y monto minimo.
- Alta por email unico.
- Gestion de estado (
activo,inactivo,bloqueado) y baja con motivo.
- Registro por usuario-producto.
- Prevencion de duplicados por restriccion unica.
- Creacion/recuperacion de carrito activo.
- Alta de items con control de stock.
- Generacion de pedido en transaccion:
- inserta pedido y detalle,
- descuenta stock,
- finaliza carrito y limpia detalle.
.
|- Backend/
| |- public/
| |- src/
| |- Routes/
| |- Controllers/
| |- Modelos/
| `- avance_backend/
|- DataBase/
| |- DB - Tablas/
| |- DB - Objetos/
| `- Datos Prueba/
`- web-proyect/
|- src/
|- package.json
`- README.md- Opcion completa: importar
DataBase/DB - Tablas/base_okea.sql. - Opcion minima API core: importar
DataBase/DB - Tablas/baseline_core_api.sql. - Importar objetos necesarios desde
DataBase/DB - Objetos/(si aplican a tu entorno). - Para Supabase/PostgreSQL usar:
DataBase/supabase/migrations/20260405_000001_core_api.sql. - Luego ejecutar
DataBase/supabase/migrations/20260405_000002_full_ecommerce_tables.sql. - Cargar datos iniciales con
DataBase/supabase/seeds/20260405_000001_seed_core_data.sql. - Aplicar RLS con
DataBase/supabase/policies/20260405_000001_rls_baseline.sql(opcional recomendado para frontend directo).
- Copiar
Backend/.env.exampleaBackend/.env. - Configurar credenciales DB.
- En Laragon, apuntar el virtual host a
Backend/public. - Probar
GET /api/healthyGET /api/v1/health. - (Opcional) Ejecutar smoke tests:
Backend/tests/smoke_api.ps1.
- Entrar a
web-proyect. - Ejecutar
npm install. - Ejecutar
npm run dev.
GET /api/healthGET /api/v1/health
POST /api/auth/registerPOST /api/auth/loginGET /api/auth/mePOST /api/auth/logout
GET /api/couponsPOST /api/couponsGET /api/coupons/{id}PUT /api/coupons/{id}DELETE /api/coupons/{id}GET /api/coupons/{id}/validar?monto_pedido=...
GET /api/newsletterPOST /api/newsletterPUT /api/newsletter/{id}DELETE /api/newsletter/{id}
GET /api/favorites?id_usuario=...POST /api/favoritesDELETE /api/favorites/{id}
POST /api/carts/{userId}GET /api/carts/{cartId}POST /api/carts/{cartId}/itemsPOST /api/addressesPOST /api/carts/{cartId}/checkoutPOST /api/orders/{orderId}/confirm
- Extraer repositorios por modulo.
- Implementar auth real.
- Anadir tests por capa (servicio + integracion).
- Definir migraciones y seeds reproducibles.
- Agregar observabilidad (logs estructurados, metricas y trazas).