Skip to content

PabloGarciaJC/ecommerce-hexagonal-php-js

Repository files navigation

Ecommerce (Hexagonal + PHP + JS)

Ecommerce Hexagonal es un comercio electrónico, desarrollado con PHP siguiendo la Arquitectura Hexagonal y potenciado con JavaScript para la interactividad del lado del cliente. Este proyecto tiene un propósito educativo: sirve como entorno de aprendizaje para mejorar mis habilidades en arquitectura hexagonal y desarrollo con PHP, y se va ampliando progresivamente a medida que profundizo en estos conceptos.

Demo del Proyecto

https://ecommerce-hexagonal.com/

Imagen 1 Imagen 2

Funcionalidades Principales

La plataforma cuenta con cuatro módulos principales que optimizan la experiencia de usuario y administración:

  • Diseño Adaptado a Móviles: Interfaz responsiva y accesible desde cualquier dispositivo.
  • Registro y Login: Gestión segura de cuentas de usuario y autenticación.
  • Cuenta: Administración de perfil, información personal y contraseñas.
  • Usuarios: Creación, edición y eliminación de usuarios dentro del sistema.
  • Catálogo y Filtros: Visualización, búsqueda y filtrado de productos para una navegación ágil.
  • Carrito de Compras: Gestión de productos seleccionados para la compra.
  • Ficha de Producto: Visualización detallada de productos y posibilidad de marcarlos como favoritos.
  • Cerrar Sesión: Cierre de sesión seguro para proteger la cuenta del usuario.

Roles de Usuario Iniciales

  1. Cliente: Accede principalmente a funcionalidades relacionadas con la compra de productos, visualización de su cuenta, carrito de compras.

Tecnologías Usadas

Tecnología Descripción
PHP y SQL Lenguaje de programación para backend y bases de datos.
JavaScript Lenguaje para interactividad en el frontend y ejecución de AJAX para actualizar contenido sin recargar la página.
Composer Gestor de dependencias en PHP.
Docker (con WSL) Plataforma para contenerización y escalabilidad, con soporte para entornos Linux en Windows mediante WSL2.
Docker Compose Herramienta para definir y ejecutar aplicaciones multi-contenedor, facilitando la gestión de entornos complejos.
Make Automatiza tareas repetitivas como pruebas, despliegues y gestión de contenedores, optimizando el flujo de trabajo.

Usuarios Ficticios para Pruebas

Nombre Correo Contraseña Rol
Pablo Garcia demo@pablogarciajc.com password Cliente

Instalación

Requisitos Previos

  • Tener Docker y Docker Compose instalados.
  • Make: Utilizado para automatizar procesos y gestionar contenedores de manera más eficiente.

Pasos de Instalación

  1. Clona el repositorio desde GitHub.

  2. Dentro del repositorio, encontrarás un archivo Makefile que contiene los comandos necesarios para iniciar y gestionar tu aplicación.

  3. Usa los siguientes comandos de Make para interactuar con la aplicación:

    • make init-app: Inicializa los contenedores y configura la aplicación.
    • make up: Levanta la aplicación y sus contenedores asociados.
    • make down: Detiene los contenedores y apaga la aplicación.
    • make shell: Ingresa al contenedor para interactuar directamente con el sistema en su entorno de ejecución.
    • make install-dependencies: Instala todas las dependencias necesarias para disponer del sistema de logs y ejecutar pruebas.
    • make init-test: Ejecuta las pruebas unitarias y de integración.
  4. Además de estos comandos, dentro del archivo Makefile puedes encontrar otros comandos que te permitirán interactuar de manera más específica con los contenedores y los diferentes servicios que conforman la aplicación.

  5. Accede a los siguientes URL:


Contáctame / Sígueme en mis redes sociales

Red Social Descripción Enlace
Facebook Conéctate y mantente al tanto de mis actualizaciones. Presiona aquí
YouTube Fundamentos de la programación, tutoriales y noticias. Presiona aquí
Página Web Más información sobre mis proyectos y servicios. Presiona aquí
LinkedIn Sigue mi carrera profesional y establece conexiones. Presiona aquí
Instagram Fotos, proyectos y contenido relacionado. Presiona aquí
Twitter Proyectos, pensamientos y actualizaciones. Presiona aquí

"La única forma de hacer un gran trabajo es amar lo que haces." - Steve Jobs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published