kineticio / runnable

Build internal workflows with ease
https://getrunnable.com/
77 stars 4 forks source link
low-code nodejs remix remix-run typescript

Runnable logo

Runnable

Build internal workflows with ease


- 💻 Leverage your internal models/db/services without having to expose them via REST/GraphQL - 🚷 Keep internal operations...internal - 🛠️ No more coding UIs for admin tools - 〰️ Build complex workflows with conditionals and loops - 📦 Works with Nest.js and Express - ⭐️ Looks great out of the box > **Note** > You can play around with the [demo Runnable](https://demo.getrunnable.com)! And login with any Google creds. **Runnable** is a framework for building user-facing internal workflows and applications. It's built on top of Remix to allow you to build workflows without UI code and a developer experience that allows you to only write server code. Using the `io` object, you can prompt the users at any point in the workflow.
![Runnable](https://github.com/kineticio/runnable/blob/main/assets/assign_user.gif) ```ts // index.ts import { installRunnable } from '@runnablejs/express'; import { getUsers, getTeams, assignTeam } from './db'; // ... normal express setup installRunnable(app, { assign_user_to_team: { title: 'Assign a user to a team', execute: async (io) => { const users = await getUsers(); const user = await io.select.dropdown({ title: 'Select a user', data: users, }); const teams = await getTeams(); const team = await io.select.table({ title: 'Select team', data: teams, initialSelection: user.teamId, }); await assignTeam(user.id, team.id); }, }, }); app.listen(3000); ```
[Read the Docs to Learn More](https://getrunnable.com/). ## License MIT