Skip to content

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

VirtualStoreNET

Tienda virtual web en ASP.NET MVC 5 + Entity Framework 6 + ASP.NET Identity sobre .NET Framework 4.8.


Stack

Capa Tecnología
Web ASP.NET MVC 5 + Web API 2
ORM Entity Framework 6 (Database-First)
Auth ASP.NET Identity 2 + OWIN
Base de datos SQL Server / LocalDB
UI Bootstrap 5.3, jQuery 3.7
Docs API Swagger (Swashbuckle 5.6)

Ejecutar localmente

Requisitos: Visual Studio, .NET Framework 4.8, SQL Server LocalDB.

  1. Abrir VirtualStore.slnx en Visual Studio.
  2. Restaurar paquetes NuGet.
  3. Ejecutar el script VirtualStore/ModelVirtualStore.edmx.sql en LocalDB para crear las tablas de negocio.
  4. Verificar las connection strings en Web.config:
    • DefaultConnection → Identity (usuarios/roles)
    • ModelVirtualStoreContainer → catálogo, pedidos, stock
  5. Iniciar con IIS Express. La app abre en https://localhost:44369.

Admin por defecto (creado en Startup.cs):

Email:    admin@virtualstore.com
Password: Admin@123

⚠️ Cambiar antes de cualquier despliegue.


Estructura

VirtualStore/
├── Controllers/        # Lógica de negocio y API
├── Models/             # Entidades, ViewModels, Cart
├── Binders/            # CartModelBinder (sesión)
├── App_Start/          # Rutas, auth, bundles, Swagger
├── Views/              # Razor (UI)
├── ModelVirtualStore.edmx  # Modelo DB (Database-First)
└── Web.config

Rutas principales

Ruta Acceso
/Products Todos
/Cart Todos
/Orders Usuario autenticado
/Manage Admin (panel)
/Categories Admin
/StockAlerts Admin
GET /api/products Público (JSON)
GET /api/products/{id} Público (JSON)
/swagger Docs API

Roles

  • Admin — CRUD productos/categorías, todos los pedidos, alertas de stock.
  • Customer (usuario registrado) — carrito, checkout, mis pedidos.
  • Logistics — editar estado de pedidos (rol existente en código; crear manualmente en DB).

Base de datos

Category ──< Product ──< OrderDetail >── Order
                 └──── StockAlert (stock < 2 → alerta activa)

Lo que funciona bien ✅

  • Checkout transaccional con validación de stock en tiempo real.
  • Alertas automáticas de bajo inventario.
  • Panel admin integrado en /Manage.
  • CSRF protection en todos los formularios.
  • API REST con Swagger.

Pendiente / Mejoras ⚠️

  • Externalizar credenciales admin (actualmente hardcodeadas en Startup.cs).
  • Crear el rol Logistics automáticamente en el seed.
  • Agregar pruebas automatizadas (no hay tests en el repo).
  • Agregar CI/CD real (build + test).

About

ASP.NET MVC e-commerce project with Entity Framework, Identity, Swagger and admin workflows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages