Внимание! Данный план является предварительным, потому что список задач, которые предстоит решить в процессе создания новой версии приложения может подвергнуться существенной переработки. По мере создания функциональности план будет пересмотрен.
- Регистрация репозитория github.com
- Создание проекта и его подготовка к разработке
- Настройка логирования в log-файл
- Реализация "вход/выход" на сайте
- Настройка добавления учетной записи при создании новой базы (SEED)
- Создание сущностей (классов) и конфигрурирование сущностей через fluent API (EntityTypeConfiguration)
- Fact
- Tag
- Notification
- Создание EF-миграции и базы данных
- Настройка возможности переноса данных из старой БД в новую БД
- Создание ViewModels для сущностей и настройка маппинга (Automapper)
- Изменение шаблонов от Microsoft.AspNetCore.Identity UI
- Шаблоны ASP.NET MVC (_Layout) и управление ими
- Реализация в ApplicationDbContext автоматическое обновление свойств CreatedAt, UpdatedAt, CreatedBy, UpdatedBy (унаследованных от типа Auditable)
- Определить маршруты для MVC
- Mediatr: Инфраструктура для Notification
- Mediatr: NotificationBase
- Mediatr: NotificationHandlerBase
- Mediatr: ErrorNotification
- Mediatr: ErrorNotificationHandler
- Mediatr: FeedbackNotification
- Mediatr: FeedbackNotificationHandler
- Объединение и минификация статических ресурсов в ASP.NET Core
- Создание главной страницы (без разбиение на страницы)
- Метод в контроллере FactsController
- Mediatr: FactGetPagedRequest
- Mediatr: FactGetPagedResponse
- TagHelper: Создание pager: IPagedListTagHelperService, PagerData, PagedListHelper
- Подключение Pager на главную страницу
- Страница детального просмотра выбранного факта
- Настройка и проверка Route для Show.cshtml
- Разметка страницы отображения выбранного факта
- Mediatr: FactGetByIdRequest
- Mediatr: FactGetByIdResponse
- Реалиазиция фильтрации фактов на главной странице
- По метке (tag)
- По слову поиска (search)
- Страница "Обратная связь" (Backend)
- Добавление записей в список уведомлений (Notification)
- Mediatr: FeedbackNotificationRequest
- Mediatr: FeedbackNotificationResponse
- Метод генерирующий картинку (reCapture)
- Добавление проверочной картинки (reCapture) на страницу FeedBack
- Blazor: Подключаем Toastr через component Blazor
- Blazor: Копируем ссылку через component Blazor
- Администратор: Страница "панель управления" (навигатор управления)
- Страница "RSS-канал фактов" для реализации RSS подписки на новые факты
- Страница "Слуйчайный факт". Отображение случайного факта.
- Страница "Облако меток". Отображение меток к фактам.
- Администратор: Страница "добавление факта"
- [х] Blazor: Используем component Blazor для поиска по ключу уже существующих фактов
- [х] Blazor: Используем component Blazor для поиска тегов для нового факта
- Администратор: Страница "редактирования факта"
- Blazor: Используем component Blazor для удаления уже существующий меток, которые есть у факта
- Blazor: Используем component Blazor для поиска по ключу уже существующих фактов
- Blazor: Используем component Blazor для поиска тегов для обновления факта
- [х] Поиск меток для удаления и для создания FindDifference
- [х] Обновление меток для факта ProcessTagsAsync
- [х] Обновление факта и меток FactUpdateRequest, FactUpdateRequestHandler
- Администратор: Реализация постраничного просмотра списка сообщений (Notification)
- Администратор: Страница "отправки почтового сообщения"
- HostedService: Сработка по расписанию (Cron)
- Отправка почты. Создание IEmailService.
- INotificationProvider обработчик Notification, отправка сообщений и обновление статуса отправки
- Реализация BackgroundWorker для отправки почтовых писем из таблицы Notification