Esta página describe todos los parámetros de configuración de Tienda MiCholo: la cadena de conexión a la base de datos enDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/interezante456-pixel/proyecto-dise-o/llms.txt
Use this file to discover all available pages before exploring further.
appsettings.json, la política de contraseñas e Identity en Program.cs, el comportamiento de los datos semilla al iniciar la aplicación, la ruta por defecto del enrutador y la configuración de logging. Revisar estos ajustes es el primer paso antes de desplegar el sistema en un entorno nuevo.
Cadena de conexión
La cadena de conexión se define enappsettings.json bajo la clave ConnectionStrings.CadenaMiCholo y es leída en Program.cs con builder.Configuration.GetConnectionString("CadenaMiCholo").
appsettings.json
| Parámetro | Valor por defecto | Descripción |
|---|---|---|
Data Source | (localdb)\\MSSQLLocalDB | Instancia de SQL Server LocalDB instalada con Visual Studio. Solo disponible en entornos de desarrollo Windows. |
Initial Catalog | DB_TIENDA_MICHOLO | Nombre de la base de datos. Si no existe, EF Core la crea al ejecutar las migraciones. |
Trusted_Connection | True | Usa autenticación integrada de Windows. No requiere usuario ni contraseña explícitos. |
TrustServerCertificate | True | Omite la validación del certificado TLS del servidor. Recomendado solo en entornos locales o con certificados autofirmados. |
Cambiar a un servidor SQL Server completo
Para apuntar a una instancia de SQL Server en red (por ejemplo, en un servidor de producción o staging), reemplaza la cadena de conexión con credenciales de SQL Server:appsettings.json
Configuración de contraseñas
Las reglas de complejidad de contraseñas se configuran enProgram.cs al registrar ASP.NET Core Identity:
Datos semilla (SeedData)
Al arrancar la aplicación,Program.cs invoca dos métodos de SeedData dentro de un scope de servicios:
SeedData.Initialize
Este método garantiza que el sistema siempre tenga los roles y cuentas mínimas necesarias para operar:
Crea los roles del sistema
Verifica si los roles
Admin y Vendedor existen. Si no existen, los crea con RoleManager.CreateAsync. Esta verificación asegura que el proceso sea idempotente y no genere duplicados.Crea la cuenta administrador
Busca
admin@micholo.com. Si no existe, crea el IdentityUser y lo agrega al rol Admin. Si ya existe, fuerza el reseteo de su contraseña a admin123 mediante un token de reseteo para garantizar consistencia en el entorno de desarrollo.SeedData.SeedProductos
Este método importa el catálogo inicial de productos desde un archivo JSON externo:
Verifica si ya hay productos
Si la tabla
Productos contiene al menos un registro, el método termina inmediatamente sin realizar ninguna inserción. Esto evita duplicar el catálogo en reinicios posteriores de la aplicación.Lee el archivo productos.json
Carga el archivo
productos.json desde el directorio raíz de la aplicación (Directory.GetCurrentDirectory()). Si el archivo no existe, el método termina silenciosamente.Crea un proveedor por defecto
Si no existe un proveedor con
RazonSocial = "Proveedor General", lo crea en la tabla Proveedores con RUC 00000000000 y teléfono 000000000. Todos los productos importados quedarán asignados a este proveedor.Inserta productos en lotes de 1000
Los productos se insertan en tandas de 1,000 registros para evitar timeouts y presión excesiva en memoria. Para cada producto se verifica que los campos
Codigo, Nombre y Categoria no excedan los límites de longitud definidos en el modelo (50, 100 y 50 caracteres respectivamente).Ruta por defecto
El enrutador de la aplicación está configurado enProgram.cs con la siguiente ruta por defecto:
/), la aplicación redirige directamente a /Producto/Listar —el listado de inventario— en lugar de /Home/Index. El segmento {id?} es opcional y permite pasar un identificador numérico a cualquier acción que lo acepte.
Logging
La configuración de logging enappsettings.json define los niveles de detalle de los mensajes registrados:
appsettings.json
| Proveedor | Nivel | Descripción |
|---|---|---|
Default | Information | Registra mensajes informativos, advertencias y errores de toda la aplicación. |
Microsoft.AspNetCore | Warning | Limita los mensajes del framework de ASP.NET Core a advertencias y errores, reduciendo el ruido en los logs durante el desarrollo. |
Trace, Debug, Information, Warning, Error, Critical, None.