Files
Jorge Luis caudillo esparza 6685ef63fb Initial commit
2026-07-14 11:15:57 -07:00

101 lines
3.5 KiB
Markdown

# Plataforma de Desarrolladores Agua de Hermosillo
Aplicación ASP.NET WebForms para administrar desarrolladores, clientes, fraccionamientos, trámites, pagos y su futura integración contable.
## Tecnología
- ASP.NET WebForms con C#.
- .NET Framework 4.8.1.
- SQL Server y procedimientos almacenados.
- Metronic como base visual.
- AjaxControlToolkit y `UpdatePanel` para actualizaciones parciales.
- Visual Studio 2022.
## Estructura principal
```text
SIG.Web/
AppCode/
Contracts/
Models/
Repositories/
Services/
Security/
Utilities/
Pages/
Security/
Tramites/
Polizas/
Metronic/
Scripts/
Styles/
Site.master
Login.aspx
Inicio.aspx
Web.config
```
Las páginas y la página maestra consumen contratos y servicios. El acceso a SQL se mantiene en repositorios y ejecutores de base de datos.
```text
ASPX / Site.master
-> Contracts
-> Services
-> Repositories / SQL helpers
-> SQL Server
```
## Requisitos
1. Windows con IIS Express.
2. Visual Studio 2022 con la carga de trabajo **Desarrollo de ASP.NET y web**.
3. .NET Framework 4.8.1 Developer Pack.
4. SQL Server accesible desde el equipo local.
## Configuración local
1. Abrir `SIG.WebForms.Starter.sln` en Visual Studio 2022.
2. Restaurar los paquetes NuGet.
3. Revisar la cadena `Conexion` de `SIG.Web/Web.config`.
4. Crear o actualizar la base de datos con `Esquema_BD_AguaHillo_Idempotente.sql`.
5. Para instalar solamente usuarios, clientes y verificación de correo, utilizar `Usuarios_Clientes_Registro.sql`.
6. Compilar la solución en `Debug` y ejecutarla con IIS Express.
La ruta raíz utiliza `Inicio.aspx` como documento predeterminado. Los usuarios sin sesión son enviados a `Login.aspx`, conservando la ruta solicitada en `retornoURL`.
## Correo de verificación
El autorregistro requiere configurar estos valores en `SIG.Web/Web.config`:
```xml
<add key="SmtpHost" value="" />
<add key="SmtpPort" value="587" />
<add key="SmtpEnableSsl" value="true" />
<add key="SmtpUser" value="" />
<add key="SmtpPassword" value="" />
<add key="EmailFrom" value="" />
```
No deben confirmarse credenciales reales en el repositorio. Para cada ambiente, coloque los valores mediante una transformación segura o durante el despliegue.
## Módulo de usuarios
- `Pages/Security/Usuarios.aspx`: administración autenticada de usuarios y clientes relacionados.
- `Pages/Security/RegistroCliente.aspx`: autorregistro público en dos pasos.
- `Pages/Security/RegistroPendiente.aspx`: aviso para revisar el correo.
- `Pages/Security/VerificarCorreo.aspx`: validación de la liga y activación de la cuenta.
El registro conserva temporalmente los datos de ambos pasos en `ViewState` cifrado. Usuario, cliente, relación y token se guardan juntos únicamente después de concluir las validaciones.
## Reglas de base de datos
- Las operaciones desde C# utilizan procedimientos almacenados.
- Los procedimientos incluyen `TRY/CATCH`, `@ErrorMostrar`, `@ErrorTipo` y `@Return`.
- Las entradas se envían como parámetros; no se concatena información del usuario en SQL.
- El borrado funcional es lógico mediante `Borrado` y `FechaBorrado`.
- Los errores registran el procedimiento y parámetros de diagnóstico, ocultando valores sensibles.
## Archivos que no se versionan
El `.gitignore` excluye compilados, paquetes restaurables, configuración personal de Visual Studio, logs, bases locales, temporales, publicaciones y carpetas de trabajo local. Las carpetas visuales `Metronic`, `Styles` y `Scripts` sí forman parte del proyecto.