Credits#
Whoobe stands on the work of many open-source projects, and it works with several others. This page thanks the main ones, by the role they play. It is a selection, not an inventory.
- The complete list of third-party software, with versions, licences and copyright notices, is THIRD_PARTY_NOTICES.md (generated; every release checks it, see supply chain). That is the legal record; this page is the thank-you.
- Where this page says "used", the project is a dependency of Whoobe or part of the delivered stack. Where it says "works with", Whoobe connects to it but does not ship it.
- The story and the people the author thanks are in the story of Whoobe.
Interface and editor#
| Project | Role in Whoobe |
|---|---|
| Vue, Pinia, Vite | The admin dashboard, the page editor and the renderer |
| Tailwind CSS | The styling model of pages, and of the dashboard |
| Alpine.js | Interactivity of pages and elements, and the Alpine presets |
| Lucide | Icons |
| dragula | Drag and drop in the editor |
| Marked, Mermaid | Markdown and diagrams, including documentation sites |
| JSZip | Website export and import bundles |
Server#
| Project | Role in Whoobe |
|---|---|
| Node.js, TypeScript, Express | The runtime and the three backends |
| PostgreSQL, node-postgres, Drizzle ORM | The database, the driver and the schema layer |
| Zod | Validation of content trees and of the data model |
| XState | The workflow of Data Objects |
| Sharp and libvips | Image transforms and thumbnails |
| exiftool-vendored | Asset metadata |
| AWS SDK for JavaScript | The S3 client used for every object store |
| jose | Validation of identity-provider tokens for the Client Hub |
| ioredis | The client for shared rate-limit counters |
| argon2, otplib | Password hashing and the second factor |
| Nodemailer | SMTP mail |
| sanitize-html | The allow-list sanitizer of rich text |
| Pino | Structured logs |
| MiniSearch | Search in documentation sites and published content |
| Multer | Upload handling |
| the AI SDKs of OpenAI, Anthropic and Google | Calls to the AI providers you configure |
Delivered stack and tooling#
| Project | Role in Whoobe |
|---|---|
| Docker and Compose, nginx | Packaging and the reverse proxy |
| Garage | The default S3-compatible object store |
| Valkey | The optional store for shared rate-limit counters |
| pnpm, Turborepo | The monorepo |
| Vitest, Playwright | Unit, API and browser tests |
| Trivy, Semgrep, gitleaks, OWASP ZAP, testssl.sh | The security scans described in the test suite |
Generated outputs#
Whoobe generates, for you to deploy, sites and apps built with Next.js, Nuxt, Capacitor and its own SDK adapters for React, Vue and Svelte. These frameworks are not dependencies of the platform itself, but of what it produces.
Works with#
| Project | How |
|---|---|
| Pimcore | Whoobe imports Pimcore classes, objects and documents (data model) |
| Activepieces, n8n | Automation engines that forms and API clients can start (marketing automation) |
| Keycloak | The identity provider the Client Hub was tested with (API clients); Entra ID, Cognito and Auth0 are documented, not yet tested |
| Brevo, HubSpot, Mailchimp, Cloudinary, Shopify, Stripe | Presets of the Integrations (integrations) |
Thank you#
To every maintainer and contributor of these projects, and of the thousands of smaller packages below them. If you maintain one and want your credit changed, or think one is missing, open an issue.
Last updated