This repository contains an ASP.NET Core MVC web application built with .NET 8 using a layered architecture:
- BulkyWeb: presentation layer (MVC + Razor + Identity UI)
- Bulky.DataAccess: data access layer (EF Core + repositories + unit of work)
- Bulky.Models: domain models and view models
- Bulky.Utily: shared utilities (roles constants and email sender stub)
The app includes public customer pages and an admin area for managing categories and products (including image upload).
- .NET 8 / ASP.NET Core MVC
- Entity Framework Core 8
- SQL Server (configured provider in
Program.cs) - ASP.NET Core Identity
- Razor Pages / Razor Views
- Bootstrap 5
- jQuery + jQuery Validation
- TinyMCE
- Toastr (notifications in UI)
- Product catalog for customers
- Product details page
- Admin CRUD for categories
- Admin CRUD/upsert for products
- Product image upload to
wwwroot/images/product - Role-based authorization for admin routes
- Seed data for categories and products via
ApplicationDbContext
Web-made-with-DotNet8/
├── Bulky.sln
├── BulkyWeb/
│ ├── Program.cs
│ ├── appsettings.json
│ ├── Areas/
│ │ ├── Customer/ (HomeController + customer views)
│ │ ├── Admin/ (CategoryController, ProductController + admin views)
│ │ └── Identity/ (scaffolded Identity pages)
│ ├── Views/Shared/ (layout, partials, notifications)
│ └── wwwroot/ (css, js, images, libraries)
├── Bulky.DataAccess/
│ ├── Data/ApplicationDbContext.cs
│ ├── Repository/
│ │ ├── IRepository/ (contracts)
│ │ ├── Repository.cs (generic repository)
│ │ ├── CategoryRepository.cs
│ │ ├── ProductRepository.cs
│ │ └── UnitOfWork.cs
│ └── Migrations/
├── Bulky.Models/
│ ├── Category.cs
│ ├── Product.cs
│ ├── ApplicationUser.cs
│ └── ViewModels/ProductVM.cs
└── Bulky.Utily/
├── SD.cs
└── EmailSender.cs
- Install .NET 8 SDK.
- Update
ConnectionStrings:DefaultConnectionin:BulkyWeb/appsettings.json
- From repository root, run:
dotnet restoredotnet builddotnet ef database update --project Bulky.DataAccess --startup-project BulkyWebdotnet run --project BulkyWeb
Este repositorio contiene una aplicación web ASP.NET Core MVC construida con .NET 8 y arquitectura en capas:
- BulkyWeb: capa de presentación (MVC + Razor + Identity UI)
- Bulky.DataAccess: capa de acceso a datos (EF Core + repositorios + unit of work)
- Bulky.Models: modelos de dominio y view models
- Bulky.Utily: utilidades compartidas (constantes de roles y sender de email base)
La app incluye páginas públicas para clientes y un área de administración para gestionar categorías y productos (incluyendo carga de imágenes).
- .NET 8 / ASP.NET Core MVC
- Entity Framework Core 8
- SQL Server (proveedor configurado en
Program.cs) - ASP.NET Core Identity
- Razor Pages / Razor Views
- Bootstrap 5
- jQuery + jQuery Validation
- TinyMCE
- Toastr (notificaciones en UI)
- Catálogo de productos para clientes
- Página de detalle de producto
- CRUD de categorías en área admin
- CRUD/upsert de productos en área admin
- Carga de imágenes de producto en
wwwroot/images/product - Autorización por roles para rutas de administración
- Datos semilla de categorías y productos desde
ApplicationDbContext
Web-made-with-DotNet8/
├── Bulky.sln
├── BulkyWeb/
│ ├── Program.cs
│ ├── appsettings.json
│ ├── Areas/
│ │ ├── Customer/ (HomeController + vistas de cliente)
│ │ ├── Admin/ (CategoryController, ProductController + vistas admin)
│ │ └── Identity/ (páginas Identity scaffolded)
│ ├── Views/Shared/ (layout, parciales, notificaciones)
│ └── wwwroot/ (css, js, imágenes, librerías)
├── Bulky.DataAccess/
│ ├── Data/ApplicationDbContext.cs
│ ├── Repository/
│ │ ├── IRepository/ (contratos)
│ │ ├── Repository.cs (repositorio genérico)
│ │ ├── CategoryRepository.cs
│ │ ├── ProductRepository.cs
│ │ └── UnitOfWork.cs
│ └── Migrations/
├── Bulky.Models/
│ ├── Category.cs
│ ├── Product.cs
│ ├── ApplicationUser.cs
│ └── ViewModels/ProductVM.cs
└── Bulky.Utily/
├── SD.cs
└── EmailSender.cs
- Instala el SDK de .NET 8.
- Actualiza
ConnectionStrings:DefaultConnectionen:BulkyWeb/appsettings.json
- Desde la raíz del repositorio ejecuta:
dotnet restoredotnet builddotnet ef database update --project Bulky.DataAccess --startup-project BulkyWebdotnet run --project BulkyWeb