| .forgejo/workflows | ||
| api | ||
| apps/KronaStaffTerminal | ||
| docker/postgres | ||
| docs | ||
| migrations | ||
| schemas | ||
| scripts | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| AGENTS.md | ||
| compose.yaml | ||
| Dockerfile | ||
| eslint.config.js | ||
| LICENSE | ||
| module.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| SECURITY.md | ||
| settings.schema.json | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||
Krona Staff
Архитектурная основа блока сотрудников для Krona Business Platform. Это не готовая HRM: предметные правила табеля, графиков, отпусков, расчёта зарплаты, кадровых документов и отчётности намеренно не реализованы до требований владельца.
Сейчас репозиторий содержит совместимое техническое ядро: два runtime-режима, порты платформы, PostgreSQL/RLS, инфраструктуру outbox/inbox/idempotency/audit, проверяемые OpenAPI и module manifest, health endpoints, контейнеризацию и CI.
Быстрый старт
cp .env.example .env
docker compose --profile tools run --rm migrate
docker compose up --build app postgres
Открыть: shell http://localhost:8080/, OpenAPI JSON /api/v1/staff/openapi.json, проверки /api/v1/staff/live, /api/v1/staff/ready, /api/v1/staff/version.
Без Docker: Node.js 22+ и PostgreSQL 17; затем npm ci, создайте отдельные роли мигратора и приложения, выполните npm run db:migrate и npm run dev.
Команды
npm run check— lint, typecheck, tests, миграции, контракты и build.npm run db:migrate— применить ещё не выполненные миграции. Откат удаляет только последнюю миграцию и требуетALLOW_MIGRATION_DOWN=true.npm run check:contracts— проверить manifest/settings/OpenAPI.
Архитектурные решения: docs/ARCHITECTURE.md, интеграция: docs/PLATFORM-INTEGRATION.md, будущий объём: docs/ROADMAP.md.
Биометрический терминал
Windows-приложение для SLK20R находится в apps/KronaStaffTerminal. Оно добавляет сотрудников, регистрирует несколько отпечатков по трём сканам, учитывает приход/уход и отправляет уведомление в Telegram и/или MAX. Инструкция по запуску и настройке находится в README терминала.