kern -- фреймворк повышенной надёжности для модульных монолитов и модульных микросервисов.

SVI 2e0be252fc SVI Переименование пакетов под более правльные имена 6 zile în urmă
v4 2e0be252fc SVI Переименование пакетов под более правльные имена 6 zile în urmă
.gitignore 949e909c78 SVI Массовое новое внедрение, линтеры 2 luni în urmă
LICENSE.md 110dc84f42 SVI Исправление README.md; 100.0% 1 an în urmă
README.md 35949a30a5 SVI Упрощение дженериков под интерфейсы (меньше гемора) 1 lună în urmă

README.md

kern

kern v3 -- фреймворк модульных компонентов ядра с высокой надёжностью для любого микросервиса или модульного монолита. Позволяет создавать изолированные модули в составе монолита (полезно в начале разработки). А затем модули можно выносить в отдельные микросервисы (после отладки).


📖 Документация


🛠️ Сборка, настройка и запуск

Требования

  • Go 1.24.2 или выше
  • task для управления задачами

Команды сборки

$ task -a
task: Available tasks for this project:
* default:       Вывод справки
* demo:          Запуск демо-проекта
* lint:          Запуск всех линтеров
* mod:           Обновление зависимостей
* test:          Запуск тестов

Быстрый старт

# Сборка
go build ./...

# Запуск демо
./demo.sh

# Запуск линтеров
task lint

🏗️ Архитектура

kern использует модульную архитектуру, позволяющую бесшовно переходить от модульного монолита к микросервисам.

Структура проекта

  • Ядро — базовые компоненты и интерфейсы
  • Компоненты — вспомогательные утилиты
  • Модули — функциональные блоки

Подход

  1. Начните с модульного монолита для быстрого старта
  2. После стабилизации выносите модули в отдельные микросервисы
  3. Документируйте каждый слой с прямыми и обратными ссылками

📦 Компоненты и модули

Подробнее →


🧪 Тестирование

task test

Покрытие тестами: 100%


🔍 Линтеры

task lint

Статус: no errors


👥 Контакты

Пишите запросы в соответствующем разделе.


📊 Статус проекта

  • Готовность: 100% (проект продолжает развиваться)
  • Покрытие тестами: 100%
  • Линтеры: no errors
  • Цикломатическая сложность: < 11

📜 Лицензия

v1, v2, v3 (код открытый, лицензия UCL или MIT.)


📦 Версия компилятора

Не ниже go 1.24.2