Skip to content

AlanHdz/spring-boot-mercadopago

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API REST de E-Commerce con Spring Boot y Pasarela de Pagos

Este proyecto es una API REST full-stack para una tienda en línea, desarrollada con fines didácticos utilizando Spring Boot. Incluye funcionalidades completas desde la autenticación de usuarios hasta la creación de órdenes y la integración con la pasarela de pagos de Mercado Pago.

✨ Características

  • Autenticación y Seguridad: Sistema de autenticación basado en JWT (JSON Web Tokens) con Spring Security. Endpoints protegidos y públicos.
  • Gestión de Usuarios: Registro y Login de usuarios con contraseñas hasheadas (BCrypt).
  • Catálogo de Productos: CRUD completo para la gestión de Productos y Categorías.
  • Carrito de Compras: Lógica completa para añadir, actualizar, ver y eliminar artículos del carrito de compras de un usuario.
  • Creación de Órdenes: Conversión de un carrito de compras a una orden de compra persistente.
  • Integración de Pagos: Flujo de pago completo con Mercado Pago (creación de preferencia y validación mediante webhooks).
  • Manejo de Errores: Gestor de excepciones global para respuestas de error claras y consistentes (400, 401, 404, 409).

🛠️ Tecnologías Utilizadas

  • Backend: Java 17, Spring Boot 3
  • Seguridad: Spring Security, JWT
  • Base de Datos: Spring Data JPA, Hibernate, PostgreSQL
  • Pasarela de Pagos: Mercado Pago SDK
  • Utilidades: Lombok, Spring Validation
  • Build Tool: Maven

🚀 Cómo Empezar

Sigue estos pasos para configurar y ejecutar el proyecto en tu entorno local.

Prerrequisitos

  • JDK 17 o superior.
  • Maven 3.6 o superior.
  • Una instancia de PostgreSQL en ejecución.
  • Una cuenta de desarrollador de Mercado Pago para obtener credenciales de prueba.

Configuración

  1. Clona el repositorio:

    git clone spring-boot-mercadopago
    cd spring-boot-mercadopago
  2. Crea la Base de Datos:

    • Abre tu cliente de PostgreSQL (como pgAdmin o DBeaver).
    • Crea una nueva base de datos llamada shopping_cart_db (o el nombre que prefieras).
  3. Configura las variables de entorno:

    • Ve a la carpeta src/main/resources/.
    • Crea una copia del archivo application.properties.example y renómbrala a application.properties.
    • Abre el nuevo archivo application.properties y rellena los valores que faltan:
      • spring.datasource.password: La contraseña de tu usuario de PostgreSQL.
      • jwt.secret: Una clave secreta larga y aleatoria codificada en Base64.
      • mercadopago.access.token: Tu Access Token de Prueba (Sandbox) de Mercado Pago, que empieza con TEST-....

Ejecución

Una vez configurado, puedes ejecutar la aplicación usando Maven:

mvn spring-boot:run

About

E-commerce creado con Spring Boot, Spring Security, JPA y Mercadopago

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages