thunderclap  by anywhichway

Cloudflare-oriented database plus function server

Created 6 years ago
297 stars

Top 89.4% on SourcePulse

GitHubView on GitHub
Project Summary

Thunderclap provides a serverless, function-oriented database and application platform designed for Cloudflare Workers. It offers key-value, indexed JSON, and graph database capabilities, powered by a MongoDB-like query language called JOQULAR, enabling complex data retrieval and manipulation. The system targets developers building scalable, edge-first applications on Cloudflare, offering features like role-based access control, inline analytics, and custom functions.

How It Works

Thunderclap leverages Cloudflare Workers and KV store for its backend. It extends KV's capabilities by implementing a JOQULAR query engine, which supports advanced pattern matching and a rich set of predicates for querying JSON data. The system also includes built-in classes for User, Edge, Position, and Coordinates, facilitating common application patterns. Its architecture allows for schema-based or schemaless operation, with extensibility through custom functions and triggers.

Quick Start & Requirements

  • Install: Clone the repository and run npm install.
  • Prerequisites: Cloudflare account, Node.js, npm. Requires configuration of Cloudflare KV namespaces and thunderclap.json with Cloudflare API keys.
  • Deployment: Deploy via npm run thunderclap.
  • Docs: https://www.github.com/anywhichway/thunderclap

Highlighted Details

  • JOQULAR query language with extensive predicates and property name pattern matching.
  • Built-in User, Edge, Position, and Coordinates classes.
  • Role-based access control (RBAC) for functions, objects, and properties.
  • Support for inline analytics, hooks, and triggers.
  • Optional schema validation and full-text indexing.

Maintenance & Community

The project appears to have had sporadic development activity, with the last significant updates noted in mid-2019. There are no explicit links to community channels like Discord or Slack.

Licensing & Compatibility

  • License: Server Side Public License (SSPL).
  • Restrictions: Requires a commercial license or open-sourcing of derivative works if providing Thunderclap as a hosted service.

Limitations & Caveats

Thunderclap is in ALPHA status, with noted incomplete security measures, limited application-level testing, and potential for API instability. Users may need to recreate KV namespaces with new releases, and performance tuning is pending. The project structure could benefit from clearer separation for contributions.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Starred by Mike Krieger Mike Krieger(CPO at Anthropic; Cofounder of Instagram), Patrick von Platen Patrick von Platen(Author of Hugging Face Diffusers; Research Engineer at Mistral), and
25 more.

redis by redis

0.1%
71k
Redis is a versatile data structure server, cache, and query engine
Created 16 years ago
Updated 3 days ago
Feedback? Help us improve.