Esta es una aplicación web Basic ASP.NET 8 y Angular 17 sin terminar Angular 17. La aplicación se basa en la plantilla de proyecto 'Angular and ASP.NET Core' en Visual Studio 2022. El objetivo era usar la aplicación Angular de la Galería de plantilla de UI DeVexPress de DeVexPress y usarla como el lado del cliente de una aplicación ASP.NET para demostrar una línea de negocios (LOB) bonita (LOB).
Noté que la mayoría de las aplicaciones ASP.NET en GitHub carecen de una interfaz de usuario o usan una interfaz de usuario muy simplista. Decidí que alguien debería mostrar una buena interfaz de usuario.
La UI original de Devexpress obtiene todos sus datos de los servicios web de Devexpress. Copié y modifiqué su versión angular para que se ejecute como parte de la aplicación ASP.NET como parte del cliente web. La sección 'Lista de contactos' ahora obtiene sus datos de la parte posterior ASP.NET que lo obtiene de la base de datos. El objetivo era hacer el mismo tipo de conversión para el resto de la interfaz de usuario, pero me detuve en breve y pasé a concentrarme en Blazor. El back -end se basa en el patrón de arquitectura limpia y el mismo flujo de trabajo del punto final -> Servicios -> Repositorio -> La base de datos se puede aplicar al resto de la aplicación utilizando la misma convención.
La aplicación no implementa ninguna autenticación, autorización, registro, contenedores. etc. Para implementar tales características, consulte JasontayLordev/Cleanarchitecture para obtener alguna inspiración e implementación.
La interfaz de usuario se basa en Devextreme de DeVexpress, que es una suite de componentes de interfaz de usuario con pleno derecho y pulida y la galería de demostración fue una buena demostración. Lo recomiendo encarecidamente. Devextreme es gratuito para aplicaciones no comerciales y requiere una licencia para aplicaciones comerciales.
Instrucciones para configurar la base de datos:
- El primer paso es configurar la base de datos. La aplicación usa SQL Server. Si está utilizando SQL Server 2019 o superior, simplemente puede restaurar la base de datos desde el archivo de copia de seguridad, dxfullapp.bak, en la carpeta 'misc_files' en el proyecto de infraestructura.
- De lo contrario, ejecute el script dxfullapp.sql que está en la carpeta 'Misc_files' para crear y llenar la base de datos con datos. Edite el archivo si es necesario para actualizar los valores del nombre de archivo en las rutas adecuadas de la instalación de su servidor SQL en su sistema.
- Actualice el valor predeterminado de ConnectionString si es necesario en el archivo appSettings.json en el proyecto del servidor.
Instrucciones para ejecutar la aplicación:
- (Hay un problema en el que la solución tarda varios minutos en cargarse en VS 2022. Todavía no estoy seguro si es un problema local).
- Después de configurar la base de datos y la cadena de conexión, haga del proyecto del servidor el proyecto de inicio. Ejecute la aplicación y iniciará el navegador con la página cargada con contactos. La página inicial mostrará una página rota y luego se actualiza automáticamente y los renderiza correctamente. Esto debería ser arreglado.
Lista de tareas (actualmente no es un plan para terminarlos):
- Convierta toda la interfaz de usuario para usar el extremo posterior ASP.NET en lugar de los puntos finales de Devexpress.
- Cree todos los DTO para servir al cliente y asignarles las entidades. (Usando AutOmapper o Mapster si eso se prefiere).
- Agregue la unidad, funcional, integración y pruebas de extremo a extremo.
- La interfaz de usuario no realiza ninguna actualización como guardar las ediciones o crear nuevos objetos. Implementarlos.
- Agregar autenticación, autorización, registro, verificaciones de salud ... etc.
- Pruebe API mínimas en lugar de API basadas en el controlador.
- El cliente angular Mientras está en la versión 17, realmente no usa ninguna de las características específicas de la versión. Todo lo que hice fue convertirlo de la versión 15 a 17.
Por qué Devextreme:
- Tiene decenas de componentes de UI de alta calidad, pulidos y extensibles que admiten de forma nativa Angular, React, Vue, jQuery y JavaScript simple.
- Excelente soporte técnico y documentación. En línea con demostraciones personalizables en tiempo real que muestran las características de cada componente.
- Cuadrícula de datos potente y móvil receptiva. El precio de toda la suite es menor que el precio de otro componente popular de la interfaz de usuario de solo una red.
- Si bien cuesta dinero, a la larga, le ahorrará mucho dinero al reducir los costos de desarrollo y el tiempo de soporte frente a un HODGEPODGE de componentes de interfaz de usuario de código abierto que funcionan, se comportan y miran de manera inconsistente. Use componentes de los que una empresa se gane la vida en lugar de depender del tiempo libre de un desarrollador o comunidad.
- PD: No estoy afiliado a Devexpress aparte de ser un cliente feliz. Solo estoy expresando mis opiniones personales.
- ¡Disfruta de la codificación!