Задача по созданию тестовой версии веб приложения на ASP.NET.CORE для того, чтобы : 1. Получить информацию о различных способах реализации веб приложения на данной платформе 2. Создать первые веб-представления. На данный момент я считаю необходимо разработать : 1. Представление - один врач организации; 2. Представление - список врачей; 3. Представление для Терминала записи к врачу с логикой по дальнейшей записи к врачу; 4. Представление - информация о пациенте; 5. Представление - авторизация Оператора ИС; 6. Представление - окно работы врача (список очереди на прием, небольшая логика по началу, завершению приема); 7. Представление - информация о конкретном пациенте (небольшая статистика). ..... 3. Разработать модели : 1. Пациент; 2. Врач; 3. BindingModel's для форм; ... 4. В качестве ORM предлагаю использовать хорошо мне знакомый EF Core. 5. В качестве БД пока буду использовать sqlite. 6. Научится использовать (лично для меня) различные JS скрипты для предварительной обработки информации в браузере, плюс наладить взаимодействие с логикой ASP.NET.CORE Главное на данном этапе : сформировать базовое понимание возможной реализации веб части проекта, проанализировать правильное построение backend
Создал первое тестовое приложение, в котором пока только успел реализовать небольшую часть из задуманного https://gitlab.eterfund.ru/alexger97/Test-ASP.NET.CORE/tree/master/WebApplication1 Параллельно изучаю документацию по данной платформе, смотрю различные готовые решения. На данный момент, эта просто вью с формой, которая получает данные от пользователя и передает их в контроллер для дальнейшей обработки.
Изучал вопрос реализации в Asp.Net.Core мнговенного взаимодействия клиента и сервера в режиме реального времени. Оптимальное решение использование open source SignalR. Документация: https://docs.microsoft.com/ru-ru/aspnet/core/signalr/introduction?view=aspnetcore-3.1 Очень полезная лекция об основах: https://www.youtube.com/watch?v=n5SFKAAbIhk Начал реализацию тестововой функциональности - прежде всего это актуально в процессе обработки информации при окончании приема, приглашении нового пациента и оповещении на Табло.
Использую разработанную View для врача, ведущего прием, осваивал на практике взаимодействие с Razor-движком, использовал рализные типовые приемы, которые изучал ранее и сегодня. Получил представление о том, как лучше использовать Razor-page или же обычные представления нацеленные на MVC. В следующих планах освоить более тщательно всю модель взаимодействия с сервером и начать практиковаться с SignalR
Была проделана следующая системная работа над проектом : Прежде всего - создание правильной структуры и разделение логики между частями решения. Создал несколько библиотек: 1. TestSystem.Data 2. TestSystem.Models 3. TestSystem.Service По названию не трудно догадаться за что будет отвечать каждая из них. Более детально расписал модели чущностей, проделал различные манипуляции по работе с БД (дорабоал класс, отвечающий за сохранение контекста данных) Удалось продвинуться в создании Razor-pages, прежде всего, это касается свзяки с вью и модели. Довольно много мелочей, на изучение и правку которых пришлось тратить внимание
Начал работу над созданием новых страниц по добавлению пользователей системы : докторов, администраторов и операторов. Добавил понятие очереди и создал предварительно логику по созданию очереди и обработку результата приема. Также сделал модель приема, веду работу над постепенным улучшением данной логики. Данная работа направлена прежде всего на создание каркаса системы и для того, чтобы в полседующем написанные View - имели полный набор возможностей для общения с уровнем логики Неспеша продолжаю работу
Сегодня : доделал и наладил тестовую версию данных для дальнейшей работы: Пациенты, Документы, Очереди. Сделал сервис по работе с новыми пользователями Скоро сделаю коммит со всеми измененими
Делаю коммит. На данный момент готов базовый уровень логики, сохранения данных, вью для добавления пользователей в систему. Для этого пришлось внимательно изуть правила валидации, построения модели, таг-хелперы и т.д. В ближайшее время - заниматься буду разработкаой страниц по списку пользователей, доработки страницы приема врача, практического использования SiganlR. К сожалению, из-за недостатка опыта имеено в веб разработки есть пару затыков по адекватной реализации некоторых аспектов, но дело поправимое
Небольшие доработки по внешнему виду и валидации даты на страницах добавления пользователей, также начал разбираться с Jquery и JavaScript. Хочу сказать, что в данной области у меня мало знаний, так что смотрю мнго курсов по данному направлению, чтобы понимать всю картину работы.
Использую Razor-pages добавлил View для просмотра списка пользователей (операторы и врачи). Также перешел к тому, чтобы в полной мере сделать авторизацию и аунтетификацию для операторов системы : написал в Razor-pages страницу для входа пользователя, в процессе окончания написания правильной логики по аутеницикации на основе куки
Сделал : авторизацию на основе куки. Теперь для доступа к определенном функционалу системы необходиом пройти аутентификацию и авторизацию на сайте. При обращении к закрытым сегментам происходит автоматическое перенапавление на страницу авторизации. Также начал работу над личным кабинетом врача откуда можно будет смотреть и выбирать прием (начинать и вести его в соответствие с очередью), смотреть статитстику приема врача. Также доработал в некоторых моментах уровень сервиса. Продолжаю изучать JS и частичные представления в ASP NET CORE
Сегодня продолжал работу над личным кабинетом, также произовдил измения шаблона мастер страницы в целях улучшения верхнего меню. При изучении новых возможностей ASP.NET.CORE 3.1 наткнулся на новую возможность, которая недавно появилась в этом выпуске. ASP.NET Core Blazor. Среди заявленных возможностей данной технологии: 1. Создание многофункциональных интерактивных пользовательских интерфейсов на C# вместо JavaScript; 2. Совместное использование серверной и клиентской логик приложений, написанных с помощью .NET; 3. Отображение пользовательского интерфейса в виде HTML-страницы с CSS для широкой поддержки браузеров, в том числе для мобильных устройств. Лично мне очень понравилась та концепция, которая представлена в описании. Мне кажется, они в конечном итоге хотят получить что-то подобное, как в XAML. Чтобы без обновления страниц измененения на клиенте происходили из C# кода, особенно в связке с SignalR. Добраться до SignalR мне в прямую не удается, так как считаю, что нужно доделать логику до момента, где она нужна будет. Начал активное изучение данной технологии, чтобы добавить функциональность с нею в тестовое приложени. Но стоит сказать, что данная технология еще в довольно не стабильной версии, скорее всего в следующей версии Core будет реализована ее более уверенная применимость
Работал над изучением темы по использованию Blazor. Прежде всего, установил необходимые пакеты обновил среду разработки. Далее - используя туториалы с сайта Microsoft разбирался над тем, как устроена логика по подключению, настройке Blazor. Стоит сказать, что хоть Blazor основан на Razor и использует его синтаксис, но там реализована своя логика по работе функциями С# кода и т.д. Используя стандартный шаблон от Ms приложения на Blazor пытался внедрить в разрабатываемое тестовое приложение Blazor-представление. Удалось настроить и внедрить, но возникла проблема с маршуртизацией при доступе к представлению. Пока не решил. Учитывая обстановку того, что данный проект пока не совсем актуален для первостепенной разработки, то прекращаю писать в багу до момента актулизации. Но между тем в свободное время буду по-возможности продолжать работу над данным проектом
Думаю, стоит отметить, как отложенную =(
Отмечаю, как отложенную