Giter VIP home page Giter VIP logo

facts's Introduction

План реализация проекта "Только факты"

Внимание! Данный план является предварительным, потому что список задач, которые предстоит решить в процессе создания новой версии приложения может подвергнуться существенной переработки. По мере создания функциональности план будет пересмотрен.

  • Регистрация репозитория 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

Дополнительно

facts's People

Contributors

calabonga avatar gsvhr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.