Documentation menu

Getting Started

Choosing a foundation

Match authentication or file-storage requirements to the smallest released BuildBaseKit foundation that fits.

Updated

A consistent local start

Foundation choice should depend on the capability your application needs, not setup friction. Released BuildBaseKit boilerplates follow the same baseline: Maven wrapper, runnable local defaults, a browser API testing page at /api-test, and optional .env overrides for development.

Authentication

Choose the smallest AuthKit edition whose verified boundary fits the application. Both editions provide password authentication, JWT access tokens, rotating refresh credentials, RBAC, optional passkeys, H2 local startup, and MySQL-compatible Flyway migrations. Pro adds broader account, session, provider, and passwordless workflows.

AuthKit edition fit
DecisionAuthKit-LiteAuthKit-Pro
Core JWT authenticationYesYes
Rotating refresh credentialsYesYes
RBACYesYes
PasskeysYesYes
Independent session controlsNoYes
Email lifecycle workflowsNoYes
OAuth2/OIDC linkingNoYes
Magic linksNoYes
Security activity historyNoYes
LicenseMITCommercial, one developer
AccessGitHubGumroad
Best fitFocused authentication foundationBroader production authentication requirements

File storage

Released FiloraFS edition fit
DecisionFiloraFS-LiteFiloraFS-Pro
StorageLocal filesystemLOCAL + S3-compatible (AWS S3 / MinIO)
Access modelShared API keyPassword, JWT, ROLE_USER / ROLE_ADMIN
OwnershipNot includedOwner-scoped files with admin access
DatabaseNoneH2 locally; MySQL for persistence
Admin provider controlOne configured local pathRuntime status, configuration, testing, and explicit switching
Provider persistenceNot includedDatabase-backed configuration and per-file provider tracking
Temporary accessNot includedLOCAL tokens and S3 pre-signed GET URLs
Best fitLearning, prototypes, small single-host toolsAuthenticated production file APIs

When to build from scratch

Build the capability yourself when infrastructure is the differentiating product, your authorization or data-lifecycle model is fundamentally different, or a foundation's explicit limitations do not fit the deployment.