devslab-kit¶
A reusable Spring Boot 4 platform starter. Drop it into an application and get authentication, authorization, multi-tenancy, dynamic menus and audit logging from auto-configuration — plus an admin REST API and a ready-made admin console — so each product can focus on its own domain instead of rebuilding the platform layer.
devslab-kit is deliberately product-agnostic: it knows only platform concepts
(UserId, TenantId, Permission, Role, Menu, Audit), never a specific
product's domain.
Status — pre-1.0
The platform is feature-complete for 0.1.0, the first public release.
Artifacts publish to Maven Central from 0.1.0 onward.
What you get¶
-
Identity
Users, BCrypt credentials, JWT issue/parse, configurable login lockout, forced password change.
-
Access
Roles, permissions, subject groups, and an ABAC policy SPI on top of RBAC.
-
Multi-tenancy
A tenant context that is always present, with pluggable resolvers —
fixed,header,jwt,subdomain. -
Dynamic menus
Permission-filtered menu trees, computed per user.
-
Audit logging
Asynchronous audit trail through
ApplicationEventPublisher, persisted to PostgreSQL. -
Pluggable cache
in-memory,redis, ornone. The Redis backend owns JSON serialization — noSerializable, no serializer wiring. -
Config sync
Promote permissions, roles and menus across environments as a code-keyed export/import bundle —
mergeormirror, dry-run first (guide).
Why a starter?¶
Every product the team builds needs the same platform layer: who is the user, what
can they do, which tenant are they in, what changed, and an admin surface to manage
it all. devslab-kit provides that layer once, override-friendly:
- Auto-configured. Add the starter, point it at PostgreSQL, boot.
- Override-friendly. Every default bean is
@ConditionalOnMissingBean— replace any piece by declaring your own. - Contracts are Java APIs. Each capability is split into a thin
-apicontract and a-coredefault; depend on the-apialone to supply your own implementation.
Next steps¶
- Installation — add the dependency.
- Quick Start — boot a working app.
- Configuration — every
devslab.kit.*knob. - Admin REST API — the
/admin/api/v1surface.
The companion devslab-kit-admin-ui (Vue 3 + PrimeVue) is a ready-made console over the admin REST API.