https://github.com/juliorom/ecommerce-app
Este proyecto es una API REST de e-commerce desarrollada con Spring Boot, que gestiona carritos de compra en MongoDB y transacciones en PostgreSQL. Implementa Spring Security con JWT para autenticación y autorización, permitiendo la compra segura de productos y el control de acceso según roles (USER, ADMIN). 🚀
https://github.com/juliorom/ecommerce-app
Last synced: 2 months ago
JSON representation
Este proyecto es una API REST de e-commerce desarrollada con Spring Boot, que gestiona carritos de compra en MongoDB y transacciones en PostgreSQL. Implementa Spring Security con JWT para autenticación y autorización, permitiendo la compra segura de productos y el control de acceso según roles (USER, ADMIN). 🚀
- Host: GitHub
- URL: https://github.com/juliorom/ecommerce-app
- Owner: JulioRom
- Created: 2025-01-24T05:25:09.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-24T05:28:13.000Z (4 months ago)
- Last Synced: 2025-01-24T06:24:51.008Z (4 months ago)
- Language: Java
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ecommerce API - Spring Boot
## 📌 Descripción
Ecommerce API es un sistema REST desarrollado con **Spring Boot** que permite la gestión de carritos de compra en **MongoDB** y la realización de transacciones en **PostgreSQL**. Implementa **Spring Security con JWT** para autenticación y autorización, asegurando la protección de los endpoints.## 🚀 Características
- 🔹 **Gestión de carritos** en **MongoDB**.
- 🔹 **Gestión de productos y compras** en **PostgreSQL**.
- 🔹 **Autenticación y autorización** con **JWT y Spring Security**.
- 🔹 **Roles de usuario (`USER`, `ADMIN`)** para control de accesos.
- 🔹 **Arquitectura basada en capas** (Controladores, Servicios, Repositorios, Modelos).## 📦 Tecnologías Utilizadas
- **Java 17**
- **Spring Boot 3**
- **Spring Data JPA & MongoDB**
- **PostgreSQL & MongoDB**
- **Spring Security con JWT**
- **Lombok**
- **Maven**## ⚙️ Instalación y Configuración
### 1️⃣ **Clonar el repositorio**
```bash
git clone https://github.com/JulioRom/ecommerce-app.git
cd ecommerce-app
```### 2️⃣ **Configurar las bases de datos**
#### 📌 PostgreSQL
Crea la base de datos en PostgreSQL:
```sql
CREATE DATABASE ecommerce;
```
Modifica `application.properties` con las credenciales:
```properties
spring.datasource.url=jdbc:postgresql://localhost:5432/ecommerce
spring.datasource.username=postgres
spring.datasource.password=admin
```
#### 📌 MongoDB
Asegúrate de tener MongoDB ejecutándose en `localhost:27017` y configura:
```properties
spring.data.mongodb.uri=mongodb://localhost:27017/ecommerce
```### 3️⃣ **Ejecutar la aplicación**
```bash
mvn clean install
mvn spring-boot:run
```## 🔑 Endpoints Principales
### **Autenticación**
- `POST /api/auth/register` → Registro de usuario
- `POST /api/auth/login` → Generación de JWT### **Carrito de Compra (MongoDB)**
- `POST /api/carrito` → Agregar carrito
- `GET /api/carrito/{idUsuario}` → Obtener carrito### **Compras (PostgreSQL)**
- `POST /api/compra/{idUsuario}` → Generar compra desde un carrito## 🔐 Seguridad y Roles
- `USER`: Puede agregar carritos y comprar.
- `ADMIN`: Puede gestionar productos y revisar transacciones.## 📜 Licencia
Este proyecto es de código abierto y se distribuye bajo la licencia MIT.---
🚀 **¡Listo para empezar!** Corre la API y prueba los endpoints con **Postman** o **Swagger**. 😃