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

SVI 3c5b9d3260 SVI Рабочее сохранение 17 godzin temu
v4 3c5b9d3260 SVI Рабочее сохранение 17 godzin temu
.gitignore 11a68c88a5 SVI Рабочее сохранение 18 godzin temu
LICENSE.md 110dc84f42 SVI Исправление README.md; 100.0% 1 rok temu
README.md 35949a30a5 SVI Упрощение дженериков под интерфейсы (меньше гемора) 7 miesięcy temu

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