Это незаконченное основное веб -приложение ASP.NET 8 и Angular 17. Приложение основано на шаблоне проекта «Angular and Asp.net Core» в Visual Studio 2022. Цель состояла в том, чтобы использовать Angular Gallere Gallere Devextreme Gallate Gallere Gallere и использовать его в качестве клиентской стороны приложения ASP.NET, чтобы продемонстрировать приложение красивой линии бизнеса (LOB).
Я заметил большинство, если не все приложения ASP.NET на GitHub, не хватает пользовательского интерфейса или использую очень упрощенный пользовательский интерфейс. Я решил, что кто -то должен показать хороший интерфейс.
Оригинальный пользовательский интерфейс DeVexPress 'получает все свои данные от веб -сервисов DeVexPress. Я скопировал и изменил их угловую версию, чтобы она работала как часть приложения ASP.NET в качестве части веб -клиента. Раздел «Список контактов» теперь получает свои данные от заднего конца ASP.NET, который получает его из базы данных. Цель состояла в том, чтобы сделать тот же тип преобразования для остальной части пользовательского интерфейса, но я остановился и перешел к концентрации на Blazor. Задняя часть основана на рисунке чистой архитектуры, и в том же обозревании конечной точки -> Services -> Repository -> База данных может быть применена к остальной части приложения с использованием той же соглашения.
Приложение не реализует какую -либо аутентификацию, авторизацию, ведение журнала, контейнеры. и т. д. Для реализации таких функций см. Jasontaylordev/Cleanarchitecture для некоторого вдохновения и реализации.
Пользовательский интерфейс основан на DeVexpress 'DeVextreme, который является полным представленным и полированным набором компонентов пользовательского интерфейса, а демонстрационная галерея была хорошей демонстрацией. Я очень рекомендую это. DeVextreme бесплатна для некоммерческих приложений и требует лицензии на коммерческие приложения.
Инструкции по настройке базы данных:
- Первым шагом является настройка базы данных. Приложение использует SQL Server. Если вы используете SQL Server 2019 или выше, вы можете просто восстановить базу данных из файла резервного копирования, dxfullapp.bak, в папке «misc_files» в проекте инфраструктуры.
- Иначе запустите скрипт dxfullapp.sql, который находится в папке «misc_files», чтобы создать и заполнить базу данных данных. При необходимости отредактируйте файл, чтобы обновить значения имени файла по правильным путям установки SQL Server в вашей системе.
- Обновите значение DefaultConnectionString, если это необходимо, в файле appsettings.json в проекте сервера.
Инструкции по запуску приложения:
- (Существует проблема, когда решение требуется несколько минут для загрузки по сравнению с 2022 год. Пока не уверен, является ли это локальная проблема.)
- После настройки базы данных и строки подключения сделайте проект Server проектом запуска. Запустите приложение, и оно запустит браузер со страницей, загруженной контактами. На начальной странице будет отображаться сломанная страница, а затем автоматически обновляться и правильно отображаться. Это должно быть исправлено.
Список (в настоящее время не планирует их закончить):
- Преобразуйте все пользовательский интерфейс, чтобы использовать задний конец ASP.NET вместо конечных точек DeVexPress.
- Создайте все DTO, чтобы обслуживать клиента и отобразить им сущности. (Используя Automapper или Mapster, если это предпочтительно).
- Добавить единицу, функциональную, интеграцию и конечные тесты.
- Пользовательский интерфейс не делает никаких обновлений, таких как сохранение изменений или создание новых объектов. Реализовать их.
- Добавить аутентификацию, авторизацию, ведение журнала, проверки здоровья .. и т. Д.
- Попробуйте минимальные API вместо API на основе контроллера.
- Угловой клиент. В то время как он находится в версии 17, он на самом деле не использует ни одну из конкретных функций версии. Все, что я сделал, это конвертировал его с версии 15 до 17.
Почему девекстрим:
- Он имеет десятки высококачественных, полированных и расширяемых компонентов пользовательского интерфейса, которые изначально поддерживают угловые, реаги, VUE, jQuery и Plain JavaScript.
- Отличная техническая поддержка и документация. Онлайн с настраиваемыми демоверсиями в реальном времени, которые показывают функции каждого компонента.
- Мощная и мобильная сетчатая сетка данных. Цена всего набора меньше, чем цена другого популярного только компонента пользовательского интерфейса.
- Несмотря на то, что это стоит деньги, в долгосрочной перспективе это сэкономит вам много денег, сократив затраты на разработку и время поддержки по сравнению с использованием мешанины компонентов пользовательского интерфейса с открытым исходным кодом, которые работают, ведут себя и смотрят непоследовательно. Используйте компоненты, из которых компания зарабатывает на жизнь, а не зависит от свободного времени застройщика или сообщества.
- PS: Я не связан с DeVexPress, кроме как быть счастливым клиентом. Я просто выражаю свое личное мнение.
- Наслаждайтесь кодированием!