Skip to content

mquiss/APIS2025BACK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de E-Commerce - Backend Java Spring

Este repositorio corresponde al backend del Trabajo Práctico Obligatorio de la materia Aplicaciones Interactivas (Primer Cuatrimestre 2025).

La aplicación simula un sistema de e-commerce que permite a los usuarios registrarse, iniciar sesión, navegar por un catálogo de productos, gestionar un carrito de compras y publicar productos.

API REST en http://localhost:8080/swagger-ui/index.html

Índice

1. Requisitos
2. Instrucciones para levantar el proyecto
  2.1 Clonar y preparar el entorno
    Opción A: IntelliJ IDEA
    Opción B: Visual Studio Code
  2.2 Asignar variables de entorno
    Opción A: IntelliJ IDEA
    Opción B: Visual Studio Code
  2.3 Iniciar servidor
    Opción A: IntelliJ IDEA
    Opción B: Visual Studio Code
3. Funcionalidades del proyecto
  3.1 TODO List
  3.2 Subir a Github
  3.3 Estructura de carpetas
4. Estructura de la Base de datos
  4.1 Diagrama Entidad Relación
  4.2 Collections
    4.2.1 Collection products
    4.2.2 Collection categories
    4.2.3 Collection users
    4.2.4 Collection carts
    4.2.5 Collection orders
5. Acceso al proyecto

1. Requisitos

2. Instrucciones para levantar el proyecto

2.1 Clonar y preparar el entorno

git clone https://github.com/mquiss/APIS2025BACK

Opción A: IntelliJ IDEA

  1. Abre IntelliJ IDEA.
  2. Ve a File > Open y selecciona la carpeta APIS2025BACK.

Opción B: Visual Studio Code

  1. Abre Visual Studio Code.
  2. Instala las siguientes extensiones:
    • Extension Pack for Java
    • Spring Boot Extension Pack
  3. Ve a File > Open y selecciona la carpeta APIS2025BACK.

2.2 Asignar variables de entorno

Este proyecto utiliza variables de entorno para proteger credenciales sensibles. Estas se referencian en application.yml como:

spring:
  data:
    mongodb:
      uri: ${DB_URI}
  security:
    user:
      name: ${SC_USERNAME}
      password: ${SC_PASSWORD}
  • DB_URI: URI de conexión a la base de datos MongoDB alojada en MongoDB Atlas. Incluye las credenciales de acceso, el nombre de la base de datos y parámetros de configuración necesarios para la conexión remota.
  • SC_USERNAME: Nombre de usuario predeterminado para la autenticación básica de Spring Security.
  • SC_PASSWORD: Contraseña correspondiente al usuario definido en SC_USERNAME, utilizada para proteger rutas HTTP mediante autenticación básica.

Opción A: IntelliJ IDEA

  1. Ve a Run > Edit Configurations, seleccionando la clase principal EcommerceApplication

img_4.png img_2.png

  1. Selecciona Modify options y activa las variables de entorno

img.png

  1. En la sección Environment variables, agrega:

img_1.png

Name Value
DB_URI mongodb+srv://credentials@cluster.mongodb.net/...
SC_USERNAME username
SC_PASSWORD password

Opción B: Visual Studio Code

  1. Abre una terminal (PowerShell) y ejecuta:
$env:DB_URI="mongodb+srv://credentials@cluster.mongodb.net/..."
$env:SC_USERNAME="username"
$env:SC_PASSWORD="password"

Esto solo funcionará mientras la terminal se encuentre abierta. Al no ser permanente, se deberá repetir el proceso antes de empezar a trabajar en el proyecto.

⚠️ Evita hardcodear valores sensibles en application.yml, ya que el archivo se encuentra en el repositorio remoto.

2.3 Iniciar servidor

Opción A: IntelliJ IDEA

  1. Haz clic en el botón verde sobre la clase EcommerceApplication:

img_9.png

Opción B: Visual Studio Code

  1. Abre Spring Boot Dashboard y ejecuta la aplicación:

img_6.png

Esto levantará el backend en: http://localhost:8080

3. Funcionalidades del proyecto

3.1 TODO List

  • Products
  • Carts
  • Users
  • Categories
  • Orders
  • Auth

3.2 Subir a Github

Cada funcionalidad se trabajará en su respectiva rama feature\nombre

git branch feature\products
git checkout feature\products

3.3 Estructura de carpetas

img_10.png

4. Estructura de la Base de Datos

Este proyecto utiliza una base de datos no relacional, específicamente MongoDB. La base de datos se denomina ecommerce y contiene colecciones que representan entidades clave del sistema, como usuarios, productos, categorías de productos, órdenes y carritos de compra.

4.1 Diagrama Entidad Relación

Database ecommerce

img.png

4.2 Collections

4.2.1 Collection products

Registros: products.json

4.2.2 Collection categories

Registros: categories.json

4.2.3 Collection users

Registros: users.json

4.2.4 Collection carts

Registros: carts.json

4.2.5 Collection orders

Registros: orders.json

5. Acceso al proyecto

Ingresar los valores de las variables de entorno SC_USERNAME y SC_PASSWORD en el formulario para poder acceder a todas las rutas del proyecto.

About

Grupo 12

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages