Skip to content

imTrujillo/pressStart-ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 E-Commerce PressStart Full-Stack

Logo del proyecto

🚀 Descripción del Proyecto

App

Este proyecto es un sistema E-Commerce completo, compuesto por:

  • Backend en .NET 8 (Clean Architecture + DDD)
  • Frontend en React
  • Base de datos PostgreSQL
  • Stripe como sistema de pagos
  • JWT Auth para autenticación segura

El sistema permite la gestión de productos, usuarios, pedidos, proveedores, categorías, e incorpora un flujo de compra real con checkout y webhook de Stripe.


🛠️ Tecnologías Utilizadas

Backend (.NET 8)

backend

  • ASP.NET Core Web API
  • Entity Framework Core
  • Clean Architecture
  • Repository Pattern
  • PostgreSQL
  • JWT (Access + Refresh Tokens)
  • Stripe Checkout

Frontend

frontend

  • React
  • React Router
  • Axios
  • Bootstrap

🧾 Proceso de Facturación en el Ecommerce

facturacion

El proceso de facturación cubre todo el flujo: usuario → pedido → pago → factura.


1. Carrito y Pedido

  1. El cliente navega por el catálogo (/api/Product) y agrega productos al carrito.
  2. Cuando decide comprar, el frontend envía una solicitud:
POST /api/Orders
  1. Se genera un orderId.
  2. El usuario agrega productos al pedido:
POST /api/Orders/{orderId}/product/{productId}
  1. También puede:
  • Actualizar cantidades
  • Quitar productos
  • Consultar su pedido

2. Proceso de Pago

Una vez confirmado el pedido:

  • El cliente envía:

    POST /api/Payment/Checkout
    
  • El backend:

  • Calcula el monto total.

  • Inicia la transacción.

  • Espera el webhook de confirmación:

    POST /api/Payment/Webhook
    
  • Si el pago es exitoso:

  • El pedido pasa a estado Pagado

  • Se genera la Factura (Invoice)


3. Generación de Factura

Después del pago, se registra una factura accesible desde:

GET /api/Invoice

La factura incluye:

  • Información del usuario
  • Productos comprados
  • Subtotal
  • Total final
  • Fecha de compra
  • ID de transacción

👥 Roles de Usuario

Autenticación

El sistema cuenta con cuatro roles: Invitado, Cliente, Empleado y Administrador.


🟦 1. Invitado (Guest)

Usuario no autenticado.

✔ Permisos:

  • Ver productos
  • Ver categorías

🔒 Para realizar un pedido:

Debe iniciar sesión o registrarse.


🟩 2. Cliente (Customer)

Usuario autenticado que compra productos.

✔ Permisos:

  • Crear pedidos
  • Agregar o quitar productos del pedido
  • Ver sus pedidos
  • Procesar pagos
  • Ver sus facturas
  • Restablecer contraseña

🟧 3. Empleado (Employee)

Usuario del negocio encargado de manejar operaciones internas.

✔ Permisos:

📦 Inventario
  • Crear, actualizar y eliminar productos
  • Manejo de imágenes de productos
  • Crear y administrar categorías
  • Gestionar proveedores
🛒 Pedidos
  • Ver sus pedidos
  • Actualizar estado de un pedido
  • Revisar productos asociados a un pedido

🟥 4. Administrador (Admin)

Usuario con acceso total al sistema.

✔ Permisos:

  • Todo lo que puede hacer un Empleado
  • Crear y eliminar empleados
  • Administrar roles
  • Ver todas las facturas
  • Generar reportes financieros
  • Eliminar pedidos
  • Control total del inventario
  • Mantenimiento de la base de datos

❌ No tiene restricciones del sistema


🌐 Despliegue


👥 Creadores

  1. Wilmer Álvarez → https://github.com/AssistedVeil86
  2. César Andrade → https://github.com/c3saR-A
  3. Jennyfer Cashpal → https://github.com/CharCash
  4. Josué Melara → https://github.com/JosuMelara21
  5. Steven Trujillo → https://github.com/imTrujillo

About

Tienda en línea (E-commerce) "PressStart"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •