Skip to content
Co-funded by the European Union
Co-funded by the European Union

racletteJS

A TypeScript framework for platforms and portals

Build your software on a frame that is already there

Plugins keep domain logic modular. Workbench is the admin surface – a lot of the portal is already done.

Read the docs
yarn create raclette-app

Open source, self-hostable, built in Europe. Not 1.0 yet.

Node.js

raclette.plugin.ts

import type { PluginMetadata } from "@raclettejs/core"

export default {
  name: "community-hub/events",
  author: "community-hub",
  version: "0.1.0",
  description:
    "Domain plugin: meetups, sessions, and RSVPs for the community hub",
} satisfies PluginMetadata

You can keep assembling a stack.

Or start from a runtime – and spend your energy on the product.

The usual path

  • Pick a stack and wire all the basics
  • Invent an admin UI nobody wants to maintain
  • Build plumbing until the domain has somewhere to live
  • Keep solving the same platform problems

The product comes last.

The usual path

  • Pick a stack and wire all the basics
  • Invent an admin UI nobody wants to maintain
  • Build plumbing until the domain has somewhere to live
  • Keep solving the same platform problems

The product comes last.

The racletteJS path

  • A runtime that already runs in Docker
  • Workbench so you don’t rebuild the admin surface
  • Plugins for encapsulation, modularity and clarity
  • Business logic first – the platform stays managed

Common patterns stay effortless. Custom logic stays powerful.

Your domain lives in a plugin.

You can structure software by function – routes, models, screens – or by domain. racletteJS is domain-first: one business idea in one plugin.

Within a plugin we recommend a layout called the Golden Path – like a game's default difficulty: how the developers intended it to be played. If you want it hard, you are free to structure it as you want.

  • Domain first

    Folders named after the business, not after HTTP verbs.

  • Golden Path inside

    Recommended layout within a plugin. Optional, but that is the intended use.

  • Reuse over reinvent

    Write a plugin once and lift it into your next project – or release it via NPM and share it with the community!

community-hub

Explorer

  • community-hub
    • .raclette
    • services
    • plugins
    • raclette.config.js

A community management platform on racletteJS

Members

domain Planned

Profiles, roles, and who belongs – the membership domain for the hub.

3 of 4 plugins enabled

There is no real plugin catalog yet. npm packages already work; a browsable shelf is still ahead. We are constantly working an the framework itself, but also on useful plugins for our users.

CommHub

Community overview

events members

Switch pages in the rail. Click a tile to see who owns it.

Views made of widgets.

Don't get called just to move a block.

Give your users – or your client – a way to help themselves. They get a UI that fits how they work. You get time back, and it feels better on their side too.

A strong platform or portal UI thrives on flexibility. Letting people see content the way they want is something we always aim for – which is why we rely on a widget strategy. Not only different pages in the same frame, but sharing the same page, the same UI, so it feels integrated.

The frontend already ships a lot of widget behaviour, and it is still growing. You build with it while you develop; later, admins or power users can adjust the layout themselves – in The Workbench.

The Workbench

Don't write yet another admin dashboard.

The Workbench is the admin surface that ships with racletteJS – where those widgets get composed into real screens.

Create and adjust the UI without rebuilding an ops console from scratch. Manage users, tune plugin settings, and keep shaping the product after ship. Operators arrange the screen. You ship the plugin.

Real screenshots in the docs
racletteJS
General

Title

Community overview

Description

Optional notes…

Tags

Select tags
Navigation

Pathname

community-overview
Styling

Slot Layout

default
Back Save and Continue

Fun fact: The Workbench is itself written in racletteJS and therefore pluggable as well!

Build and ship.

Docker-native. Easy to deploy.

You get Docker support out of the box – not as a later chore for production, but as how the app actually runs. Hook the build into the CI you already use and put it on a host you own. Self-host is the normal path.

yarn dev

Local

Containerization already begins locally – right during development. Same environment as production, fewer “works on my machine” surprises.

yarn build

Ship

Prepares what CI turns into images. Drop them into the pipeline and deploy – keep your default hosting strategy.

racletteJS in the wild

Where to find it, what you can build with it, and where to talk about it.

We're a relatively new community with real values for a better tech future. Come say hello. We're glad you're here, and it should be fun.

RacStack OpenStack billing

Not a toy demo – the billing dashboard we run, built on racletteJS. Repo is public.

…/openstack-billingdashboard

Field notes from the build

Development fun, startup finances that hurt a little, and whatever is going on in racletteJS and our work lives. A bunch of honest developer stuff – usually on Fridays.

Past issues live on the blog – we publish them all there.

By submitting you accept our privacy policy . Unsubscribe anytime.