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

SVI 11a68c88a5 SVI Рабочее сохранение hai 23 horas
v4 11a68c88a5 SVI Рабочее сохранение hai 23 horas
.gitignore 11a68c88a5 SVI Рабочее сохранение hai 23 horas
LICENSE.md 110dc84f42 SVI Исправление README.md; 100.0% hai 1 ano
README.md 35949a30a5 SVI Упрощение дженериков под интерфейсы (меньше гемора) hai 7 meses

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