{"id":21722949,"url":"https://github.com/calabonga/facts","last_synced_at":"2025-04-12T22:03:03.179Z","repository":{"id":54660236,"uuid":"334316437","full_name":"Calabonga/Facts","owner":"Calabonga","description":"Проект \"Только факты\"","archived":false,"fork":false,"pushed_at":"2022-03-16T07:37:56.000Z","size":1675,"stargazers_count":11,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2023-02-26T23:15:36.210Z","etag":null,"topics":["asp","component-blazor","mediatr","mvc","notification"],"latest_commit_sha":null,"homepage":"http://www.jfacts.ru","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Calabonga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":"https://www.calabonga.net/site/thanks"}},"created_at":"2021-01-30T03:09:34.000Z","updated_at":"2023-02-26T23:15:36.210Z","dependencies_parsed_at":"2022-08-13T23:10:22.321Z","dependency_job_id":null,"html_url":"https://github.com/Calabonga/Facts","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calabonga%2FFacts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calabonga%2FFacts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calabonga%2FFacts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Calabonga%2FFacts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Calabonga","download_url":"https://codeload.github.com/Calabonga/Facts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226432631,"owners_count":17624201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp","component-blazor","mediatr","mvc","notification"],"created_at":"2024-11-26T02:34:42.980Z","updated_at":"2024-11-26T02:34:43.636Z","avatar_url":"https://github.com/Calabonga.png","language":"C#","funding_links":["https://www.calabonga.net/site/thanks"],"categories":[],"sub_categories":[],"readme":"# План реализация проекта \"Только факты\"\n\n**Внимание!** *Данный план является предварительным, потому что список задач, которые предстоит решить в процессе создания новой версии приложения может подвергнуться существенной переработки. По мере создания функциональности план будет пересмотрен.*\n\n* [x] Регистрация репозитория github.com\n* [x] Создание проекта и его подготовка к разработке\n    * [x] Настройка логирования в log-файл\n    * [x] Реализация \"вход/выход\" на сайте\n* [x] Настройка добавления учетной записи при создании новой базы (SEED)\n* [x] Создание сущностей (классов) и конфигрурирование сущностей через fluent API (EntityTypeConfiguration)\n    * [x] Fact\n    * [x] Tag\n    * [x] Notification\n* [x] Создание EF-миграции и базы данных\n* [x] Настройка возможности переноса данных из старой БД в новую БД\n* [x] Создание ViewModels для сущностей и настройка маппинга (Automapper)\n* [x] Изменение шаблонов от Microsoft.AspNetCore.Identity UI\n* [x] Шаблоны ASP.NET MVC (_Layout) и управление ими\n* [x] Реализация в ApplicationDbContext автоматическое обновление свойств CreatedAt, UpdatedAt, CreatedBy, UpdatedBy (унаследованных от типа Auditable)\n* [x] Определить маршруты для MVC\n* [x] Mediatr: Инфраструктура для Notification\n  * [x] Mediatr: NotificationBase\n  * [x] Mediatr: NotificationHandlerBase\n  * [x] Mediatr: ErrorNotification\n  * [x] Mediatr: ErrorNotificationHandler\n  * [x] Mediatr: FeedbackNotification\n  * [x] Mediatr: FeedbackNotificationHandler\n* [x] Объединение и минификация статических ресурсов в ASP.NET Core \n* [x] Создание главной страницы (без разбиение на страницы)\n  * [x] Метод в контроллере FactsController\n  * [x] Mediatr: FactGetPagedRequest\n  * [x] Mediatr: FactGetPagedResponse\n* [x] TagHelper: Создание pager: IPagedListTagHelperService, PagerData, PagedListHelper\n* [x] Подключение Pager на главную страницу\n* [x] Страница детального просмотра выбранного факта\n  * [x] Настройка и проверка Route для Show.cshtml \n  * [x] Разметка страницы отображения выбранного факта\n  * [x] Mediatr: FactGetByIdRequest\n  * [x] Mediatr: FactGetByIdResponse\n* [x] Реалиазиция фильтрации фактов на главной странице\n    * [x] По метке (tag)\n    * [x] По слову поиска (search)\n* [x] Страница \"Обратная связь\" (Backend) \n  * [x] Добавление записей в список уведомлений (Notification)\n  * [x] Mediatr: FeedbackNotificationRequest\n  * [x] Mediatr: FeedbackNotificationResponse\n  * [x] Метод генерирующий картинку (reCapture) \n  * [x] Добавление проверочной картинки (reCapture) на страницу FeedBack\n* [x] Blazor: Подключаем Toastr через component Blazor\n* [x] Blazor: Копируем ссылку через component Blazor\n* [x] Администратор: Страница \"панель управления\" (навигатор управления)\n* [x] Страница \"RSS-канал фактов\" для реализации RSS подписки на новые факты\n* [x] Страница \"Слуйчайный факт\". Отображение случайного факта.\n* [x] Страница \"Облако меток\". Отображение меток к фактам.\n* [x] Администратор: Страница \"добавление факта\"\n   * [х] Blazor: Используем component Blazor для поиска по ключу уже существующих фактов\n   * [х] Blazor: Используем component Blazor для поиска тегов для нового факта\n* [x] Администратор: Страница \"редактирования факта\"\n   * [x] Blazor: Используем component Blazor для удаления уже существующий меток, которые есть у факта\n   * [x] Blazor: Используем component Blazor для поиска по ключу уже существующих фактов\n   * [x] Blazor: Используем component Blazor для поиска тегов для обновления факта\n   * [х] Поиск меток для удаления и для создания FindDifference\n   * [х] Обновление меток для факта ProcessTagsAsync\n   * [х] Обновление факта и меток FactUpdateRequest, FactUpdateRequestHandler\n* [x] Администратор: Реализация постраничного просмотра списка сообщений (Notification)\n* [x] Администратор: Страница \"отправки почтового сообщения\"\n* [x] HostedService: Сработка по расписанию (Cron)\n  * [x] Отправка почты. Создание IEmailService.\n  * [x] INotificationProvider обработчик Notification, отправка сообщений и обновление статуса отправки\n  * [x] Реализация BackgroundWorker для отправки почтовых писем из таблицы Notification\n\n# Дополнительно\n* [ASP.NET Core MVC \"Только факты\" (NET5.0)](https://github.com/Calabonga/Facts/wiki)\n* [О приложении](https://github.com/Calabonga/Facts/wiki/%D0%9E-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8)\n* [Цели и задачи проекта](https://github.com/Calabonga/Facts/wiki/%D0%A6%D0%B5%D0%BB%D0%B8-%D0%B8-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0)\n* [Затронутые аспекты](https://github.com/Calabonga/Facts/wiki/%D0%97%D0%B0%D1%82%D1%80%D0%BE%D0%BD%D1%83%D1%82%D1%8B%D0%B5-%D0%B0%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B)\n* [Основные функциональные возможности](https://github.com/Calabonga/Facts/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8)\n* [Пользователи сайта могут](https://github.com/Calabonga/Facts/wiki/%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F)\n* [Администратор сайта может](https://github.com/Calabonga/Facts/wiki/%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0)\n* [Видео материалы](https://github.com/Calabonga/Facts/wiki/%D0%92%D0%B8%D0%B4%D0%B5%D0%BE-%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D1%8B)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalabonga%2Ffacts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalabonga%2Ffacts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalabonga%2Ffacts/lists"}