KelnaKelnaDocumentation
Browse the documentation

DevelopersTablet version · pilot

Start in development

Run the local foundation and test changes using fictional data.

Requirements

The repository uses Node.js 24 from 24.22.0 onward, pnpm 11.10.0 and Docker with Compose. Use the versions pinned in .node-version and packageManager in the repository.

Code uses strict TypeScript: React and Vite for the frontend, Fastify for the API and PostgreSQL for data. Check the license before introducing any dependency.

Run the application

The frontend listens at http://127.0.0.1:4317 by default and proxies /api to the local API. The API uses port 3001 and PostgreSQL port 55432. API_PORT and WEB_PORT can change the ports.

setup:local creates private configuration when absent without displaying secrets. Keep it while the database volume exists; changing a password in a file does not change an initialized volume.

Code example
pnpm install --frozen-lockfile
pnpm setup:local
pnpm db:up
pnpm db:migrate
pnpm dev

Prepare access and the plan

The repository provides auth:invite, access:setup and floorplan:import operator commands. They prepare the account, organization, venue and fictional plan; they are not public sign-up or import routes.

To review interfaces only, pnpm demo starts a fictional room in memory without an account or database. This demonstration does not validate the persistent API and retains no observations.

Validate a change

Integration and browser tests require a running, migrated database. Stop the development API if it occupies the test port. verify:isolated also provides validation against a disposable database.

Documentation and examples must change alongside API contracts. The downloadable contract is generated at build time without connecting to a database or reading secrets.

Code example
pnpm lint && pnpm typecheck && pnpm test
pnpm test:integration
pnpm e2e

Need a hand?

Describe the step that failed and the message shown. Keep passwords and sign-in codes private.

Contact the Kelna team