Menu

Home

Moksh Bhayre

Welcome to the tspoonbase wiki!
# TspoonBase Wiki

Welcome to the TspoonBase wiki. This is the central place for project status, roadmap, design decisions, and contributor resources.


Pages


Release Notes

v0.2.6 (April 2026)

Added

  • Documentation site: https://tspoonbase-docs.vercel.app/
  • GitHub issue templates (bug report, feature request, docs)
  • Pull request template
  • CONTRIBUTING.md guide
  • CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
  • SECURITY.md vulnerability reporting
  • Mermaid diagrams in README
  • Website preview screenshot in README
  • Floating decorative elements on landing page

Changed

  • Updated package.json with homepage and bugs URLs
  • Added public_site/ to .gitignore

v0.2.0 (March 2026)

Added

  • AI Tools: schema generator, rule generator, data seeder, chat assistant
  • Vector search with cosine similarity
  • MFA/TOTP support
  • Protected file tokens
  • Settings encryption with AES

Changed

  • Improved auth flow with refresh token rotation

v0.1.0 (February 2026)

Added

  • Initial release
  • SQLite dual-DB architecture
  • Collection and record CRUD
  • Email/password and OAuth2 auth
  • File storage (local + S3)
  • Realtime (WebSocket + SSE)
  • Admin UI
  • JavaScript hooks
  • Migration system

Architecture Decisions

This page records significant architectural decisions made in TspoonBase.


ADR-001: SQLite as the default database

Status: Accepted

Context: We needed a zero-config database that works out of the box for a backend-as-a-service.

Decision: Use SQLite (via better-sqlite3) as the default database.

Consequences:

  • Single-node deployments are trivial
  • No external database dependencies
  • File-based backups are easy
  • Trade-off: horizontal scaling requires external database (PostgreSQL planned)

ADR-002: Dual-database architecture

Status: Accepted

Context: Application data (collections, records) and system data (settings, migrations, auth sessions) have different backup and migration needs.

Decision: Split into data.db (app data) and auxiliary.db (system data).

Consequences:

  • System tables don't clutter app backups
  • Migrations can reference auxiliary metadata safely
  • Two files to manage instead of one

ADR-003: Express.js over Fastify

Status: Accepted

Context: We needed a mature, well-documented HTTP framework with extensive middleware ecosystem.

Decision: Use Express.js over Fastify.

Consequences:

  • Familiar API for most Node.js developers
  • Huge middleware ecosystem
  • Slightly lower performance than Fastify (acceptable for our use case)

ADR-004: Node VM for JavaScript hooks

Status: Accepted

Context: We wanted to allow users to extend behavior with JavaScript without compromising security.

Decision: Run pb_hooks/ in a Node VM sandbox.

Consequences:

  • Hooks are isolated from main process
  • Limited globals (no fs, network access)
  • Slightly slower than native code
  • Safer than eval or require

ADR-005: React/Vite for Admin UI

Status: Accepted

Context: The Admin UI needs to be a modern SPA with good DX.

Decision: Build Admin UI with React + Vite, served as static files.

Consequences:

  • Fast development with Vite HMR
  • Small bundle size
  • Easy to customize and fork
  • Must be built before deployment

ADR-006: AI Tools as first-class features

Status: Accepted

Context: AI-assisted development is becoming standard. Integrating it natively provides value.

Decision: Build AI schema generation, rule generation, and chat directly into the platform.

Consequences:

  • Requires LLM API keys (optional feature)
  • Increases bundle size slightly
  • Differentiates from PocketBase
  • Can be fully disabled

Project Status & Roadmap

Last updated: April 2026


Current Status

TspoonBase is actively developed and in a usable beta state. The core platform is stable enough for production side projects, hobby apps, and internal tools.

What Works Today

Feature Status Notes
SQLite Database Stable Dual-DB architecture (data.db + auxiliary.db), 14 field types, schema sync
Authentication Stable Email/password, OAuth2, OTP, MFA/TOTP with JWT refresh tokens
Collections & Records Stable CRUD, filtering, sorting, pagination, record expansion, back-relations
File Storage Stable Local filesystem + S3-compatible, thumbnails, protected tokens
Realtime Stable WebSocket + SSE with subscription broker
Admin UI Stable React/Vite SPA with dashboard, collection editor, record browser
AI Tools Beta Schema gen, rule gen, data seeding, chat assistant (OpenAI, Anthropic, Ollama)
Vector Search Beta Cosine similarity search via custom SQLite function
JavaScript Hooks Stable pb_hooks/ sandbox with onBootstrap, onRecordCreate, etc.
Migrations Stable JS migration runner with auto-run on startup
Rate Limiting Stable Configurable per-window rules
Settings Encryption Stable AES encryption for SMTP, S3, AI credentials

Current Version

  • npm: 0.2.6
  • Node.js requirement: >= 20.0.0
  • License: Apache-2.0

Known Limitations

  • No built-in clustering support (single-node only)
  • Admin UI is English-only
  • OAuth2 providers are limited to GitHub, Google, Discord, Facebook (extensible though)
  • No built-in GraphQL endpoint
  • WebSocket scaling requires sticky sessions in multi-node deployments

Roadmap

Q2 2026 (Apr–Jun)

Priority Feature Description
High PostgreSQL adapter Add PostgreSQL as an alternative to SQLite for larger workloads
High TypeScript SDK Auto-generated TS client from collection schemas
High Webhooks Outgoing webhooks for record changes
Medium Email templates editor Rich HTML email template editor in Admin UI
Medium Backup scheduler Automated scheduled backups with S3 upload
Low CLI scaffolding tspoonbase create-app for frontend boilerplate

Q3 2026 (Jul–Sep)

Priority Feature Description
High Multi-tenancy Workspace/organization isolation
High GraphQL API Optional GraphQL layer alongside REST
High Plugin system Installable plugins from npm
Medium RBAC Role-based access control beyond API rules
Medium Audit logging Immutable audit trail for compliance
Low Admin UI themes Customizable Admin UI themes

Q4 2026 (Oct–Dec)

Priority Feature Description
High Horizontal scaling Redis-backed session and realtime broker
High Edge deployment Cloudflare Workers / Vercel Edge runtime support
Medium Database replication Read replicas for scaling read-heavy workloads
Medium Admin mobile app React Native admin companion
Low Community marketplace Plugin and template marketplace

How to Influence the Roadmap

  1. Vote on issues: Add a thumbs-up to existing feature requests
  2. Open a discussion: GitHub Discussions
  3. Sponsor a feature: If you need something urgently, open an issue and we can prioritize it

Completed Milestones

Version Date Highlights
v0.2.6 Apr 2026 Docs site launched, contribution templates added, Mermaid diagrams
v0.2.0 Mar 2026 AI tools, vector search, MFA/TOTP
v0.1.0 Feb 2026 Initial release with core CRUD, auth, file storage