{"id":20923344,"url":"https://github.com/opexgroup/itcc.library","last_synced_at":"2025-05-13T16:30:35.543Z","repository":{"id":144154755,"uuid":"65190559","full_name":"OPEXGroup/ITCC.Library","owner":"OPEXGroup","description":"Small general-purpose framework. HTTP, logs, easier WPF and geocoding.","archived":false,"fork":false,"pushed_at":"2018-02-09T04:19:47.000Z","size":1127,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-09T22:48:20.257Z","etag":null,"topics":["api","csharp","geocoding","http","http-client","http-server","logging","tls","wpf"],"latest_commit_sha":null,"homepage":"https://opexgroup.github.io/ITCC.Library/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OPEXGroup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-08T09:19:33.000Z","updated_at":"2019-05-24T13:24:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"833550a1-c3e3-4028-bf06-69500f3a5032","html_url":"https://github.com/OPEXGroup/ITCC.Library","commit_stats":null,"previous_names":[],"tags_count":109,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OPEXGroup%2FITCC.Library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OPEXGroup%2FITCC.Library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OPEXGroup%2FITCC.Library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OPEXGroup%2FITCC.Library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OPEXGroup","download_url":"https://codeload.github.com/OPEXGroup/ITCC.Library/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253981638,"owners_count":21994308,"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":["api","csharp","geocoding","http","http-client","http-server","logging","tls","wpf"],"created_at":"2024-11-18T20:15:18.560Z","updated_at":"2025-05-13T16:30:35.536Z","avatar_url":"https://github.com/OPEXGroup.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ITCC Library\n\n## Общее описание\n\nБиблиотека общего назначения (на самом деле, несколько библиотек) для решения следующих задач:\n\n* Быстрое написание серверов для приложений (быстрого написания, а не серверов :) )  \n* Простая работа с клиентской частью HTTP  \n* Простая работа с геокодерами  \n* Красивые логи  \n* Упрощение некоторых операций при работе с WPF  \n\n## Компоненты\n\nПапки, название которых не заканчивается на \"Testing\", являются компонентами библиотеки.\nОписание интерфейсов библиотек лежит в README в папках.\nВезде в описаниях опущен модификатор `public`, поскольку вещи, не входящие в интерфейс, явно не описываются.\n\n### ITCC.Geocoding\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.Geocoding.svg)](https://badge.fury.io/nu/ITCC.Geocoding)\n\nКлассы для работы с геокодерами Яндекса и Google. Интересные классы:\n\n* `ITCC.Geocoding.Geocoder.cs`\n\n### ITCC.HTTP.API\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.HTTP.API.svg)](https://badge.fury.io/nu/ITCC.HTTP.API)\n\nБиблиотека для декларативного описания и автоматической проверки контрактов сетевого API.\nИзначально предназначена для работы с HTTP.\nИнтересные классы:\n\n* `ITCC.HTTP.API.ViewChecker`  \n* `ITCC.HTTP.API.Attributes.ApiViewAttribute`  \n* `ITCC.HTTP.API.Attributes.ApiContractAttribute`\n* `ITCC.HTTP.API.Utils.Either\u003cTFirst, TSecond\u003e`\n\n### ITCC.HTTP.API.Documentation\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.HTTP.API.Documentation.svg)](https://badge.fury.io/nu/ITCC.HTTP.API.Documentation)\n\nБиблиотека для автоматической генерации документации на основе аннотаций методов API из ITCC.HTTP.API\n\n### ITCC.HTTP.Client\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.HTTP.Client.svg)](https://badge.fury.io/nu/ITCC.HTTP.Client)\n\nРеализация HTTP-клиентов. Интересные классы:\n\n* `ITCC.HTTP.Client.RegularClient`  \n* `ITCC.HTTP.Client.StaticClient`  \n\n### ITCC.HTTP.Common\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.HTTP.Common.svg)](https://badge.fury.io/nu/ITCC.HTTP.Common)\n\nМаленькая общая часть реализации HTTP\n\n### ITCC.HTTP.Server\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.HTTP.Server.svg)](https://badge.fury.io/nu/ITCC.HTTP.Server)\n\nHTTP-сервер для быстрого развертывания приложений. \nПоддерживает дополнительную функциональность (работа со статичными файлами, предобработка контента).\nИнтересные классы:\n\n* `ITCC.HTTP.Server.Core.StaticServer\u003cTAccount\u003e`  \n* `ITCC.HTTP.Server.Core.HttpServerConfiguration` \n\n### ITCC.HTTP.Server.Testing\n\nПример запуска сервера для работы со статичными файлами. Поддерживает\n\n* Произвольные директории со статикой  \n* Настройка порта  \n* Настройка количества рабочих потоков  \n* Настройка уровня лога и вида (консоль/файлы)  \n* HTTP/HTTPS (сертификат создается)  \n* gzip  \n* Препроцессинг изображений  \n* statistics  \n* ping (json/xml)  \n\n### ITCC.HTTP.SslConfigUtil.Console\n\nКонсольное приложение для генерации и установки TLS-сертификатов  \n\n### ITCC.HTTP.SslConfigUtil.Core\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.HTTP.SslConfigUtil.Core.svg)](https://badge.fury.io/nu/ITCC.HTTP.SslConfigUtil.Core)\n\nБиблиотека для генерации и установки TLS-сертификатов. \nИнтегрирована в `ITCC.HTTP.Server`, но может использоваться и самостоятельно. \nИнтересные классы:\n\n* `ITCC.HTTP.SslConfigUtil.Core.Binder`  \n* `ITCC.HTTP.SslConfigUtil.Core.CertificateController`  \n\n### ITCC.HTTP.SslConfigUtil.GUI\n\nWPF-приложение для генерации и установки TLS-сертификатов  \n\n### ITCC.Logging.Core\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.Logging.Core.svg)](https://badge.fury.io/nu/ITCC.Logging.Core)\n\nЛоггирование. Система подписчик-получатель с возможностью добавления получателей. Надо просто реализовать интерфейс `ILogReceiver`. **Собирается везде.** Интересные классы:\n\n* `ITCC.Logging.Core.Logger`\n\n### ITCC.Logging.Reader.Core\n\nБиблиотека для парсинга логов, генерируемых `ITCC.Logging.Core.Logger`  \n\n### ITCC.Logging.Reader.WPF\n\nНастольное приложения для отображения логов, генерируемых `ITCC.Logging.Core.Logger`  \n\n### ITCC.Logging.Windows\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.Logging.Windows.svg)](https://badge.fury.io/nu/ITCC.Logging.Windows)\n\nРазличные реализации логов для .Net 4.6. Интересные классы:\n\n* `ITCC.Logging.Loggers.ColouredConsoleLogger`  \n* `ITCC.Logging.Loggers.BufferedFileLogger`  \n* `ITCC.Logging.Loggers.SystemEventLogger`  \n* `ITCC.Logging.Loggers.EmailLogger`  \n\n### ITCC.UI\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.UI.svg)](https://badge.fury.io/nu/ITCC.UI)\n\nБиблиотека классов для использования в GUI-приложениях на WPF, UWP и Xamarin Forms. Интересные классы:\n\n* `ITCC.UI.Commands.AsyncCommand`  \n* `ITCC.UI.Loggers.ObservableLogger`  \n* `ITCC.UI.Utils.ObservableRingBuffer`  \n\n### ITCC.WPF\n\n[![NuGet version](https://badge.fury.io/nu/ITCC.WPF.svg)](https://badge.fury.io/nu/ITCC.WPF)\n\nМаленькие полезные классы для работы с WPF. Включает, в том числе, работу с `ITCC.Logging` из WPF и специальное окошко `LogWindow` для вывода логов. Интересные классы:  \n\n* `ITCC.WPF.Credentials.CredentialManager`  \n* `ITCC.WPF.Windows.LogWindow`  \n* `ITCC.WPF.Utils.DataGridHelper`  \n* `ITCC.WPF.Utils.ScrollViewerExtensions`  \n\n## Подключение\n\n### Клонирование\n\n```\ngit clone https://github.com/OPEXGroup/ITCC.Library.git\n```\n\n### Подключение в качестве подмодуля\n\n```\ngit submodule add https://github.com/OPEXGroup/ITCC.Library.git\n```\n\nПотом, для подключения после клонирования родительского проекта\n\n```\ngit submodule init\ngit submodule update\n```\n### Замечания по сборке\n\nСобирается из Visual Studio 2017. Целевая среда:\n\n* `.Net 4.5` для всех  \n* `.Net 4.6` и `netstandard 1.3` для проектов `ITCC.Logging.Core`, `ITCC.HTTP.Common` `ITCC.HTTP.API` и `ITCC.UI`  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopexgroup%2Fitcc.library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopexgroup%2Fitcc.library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopexgroup%2Fitcc.library/lists"}