🛍️ Angular Shop 19

E-commerce completo con múltiples pasarelas de pago

Angular 19StripeRedsysTypeScriptSass
Main Project Image

Pasarela de pago

Integración con Stripe, Monei y Redsys (incluye protocolo 3DS y test cards de Redsys).

Puedes probar Redsys con tarjetas de test y recibir respuestas automáticas según el resultado del pago.

Factura automática

Envío de factura por correo en formato HTML (React) y generación en PDF con NIF y logo.

El PDF incluye todos los datos fiscales y se genera tras confirmación del pago, usando plantillas personalizadas.

Diseño responsivo

Adaptado a todos los dispositivos, con sliders de imágenes e interfaz adaptable.

Gestión de productos

Carrito con actualización de cantidades, opciones por producto y eliminación individual.

Cada producto permite múltiples configuraciones (como tamaños o almacenamiento), y el carrito se actualiza en tiempo real.

Configuración flexible

Cambio dinámico del método de pago desde un único punto (`selectedMethodPay`).

Vista previa y pruebas

Incluye vistas en PC y móvil, previsualización de emails (`/preview-email`) y PDF generado.

También puedes ver la plantilla de correo y la factura antes de hacer un pedido real.

Backend funcional

Servidor con .env para configurar endpoints de pago y recibir estados desde las pasarelas.

Usa Ngrok si estás en local para que los pagos externos devuelvan respuesta correctamente al servidor.

Instalación sencilla

Scripts para arrancar el proyecto en Windows o Mac (`start-windows.bat`, `start-mac.sh`).

Personalización

Modificación de productos desde `src/data/products-data.ts` con múltiples opciones por producto.

Puedes añadir productos nuevos o duplicar existentes cambiando imagen, descripción y opciones.

Tecnologías

Angular 18, Sass, HTML para emails, React para plantillas de factura, y PDFKit para generación.

bash — 80x24
root@portfolio:~$git clone repo-url.git
# 1. Descargar y descomprimir el proyecto
root@portfolio:~$cd project-folder && npm install
# 2. Instalar dependencias
root@portfolio:~$npm start
# 3. Correr en localhost:3000
root@portfolio:~$✔ App started successfully on port 3000
img-0
img-1
img-2
img-3
img-4