Skip to content

An open source headless CMS / real-time database. Powerful table editor, full-text search, and SDKs for JS / React / Svelte.

License

Notifications You must be signed in to change notification settings

atomicdata-dev/atomic-server

Repository files navigation

AtomicServer

crates.io Discord chat MIT licensed github

Create, share, fetch and model Atomic Data! AtomicServer is a lightweight, yet powerful CMS / Graph Database. Demo on atomicdata.dev. Docs on docs.atomicdata.dev

This repo also includes:

Status: alpha. Breaking changes are expected until 1.0.

AtomicServer

  • 🚀 Fast (less than 1ms median response time on my laptop), powered by actix-web and sled
  • 🪶 Lightweight (8MB download, no runtime dependencies)
  • 💻 Runs everywhere (linux, windows, mac, arm)
  • 🔧 Custom data models: create your own classes, properties and schemas using the built-in Ontology Editor. All data is verified and the models are sharable using Atomic Schema
  • ⚙️ Restful API, with JSON-AD responses.
  • 🔎 Full-text search with fuzzy search and various operators, often <3ms responses. Powered by tantivy.
  • 🗄️ Tables, with strict schema validation, keyboard support, copy / paste support. Similar to Airtable.
  • 📄 Documents, collaborative, rich text, similar to Google Docs / Notion.
  • 💬 Group chat, performant and flexible message channels with attachments, search and replies.
  • 📂 File management: Upload, download and preview attachments.
  • 💾 Event-sourced versioning / history powered by Atomic Commits
  • 🔄 Real-time synchronization: instantly communicates state changes with a client. Build dynamic, collaborative apps using websockets (using a single one-liner in react or svelte).
  • 🧰 Many serialization options: to JSON, JSON-AD, and various Linked Data / RDF formats (RDF/XML, N-Triples / Turtle / JSON-LD).
  • 📖 Pagination, sorting and filtering queries using Atomic Collections.
  • 🔐 Authorization (read / write permissions) and Hierarchical structures powered by Atomic Hierarchy
  • 📲 Invite and sharing system with Atomic Invites
  • 🌐 Embedded server with support for HTTP / HTTPS / HTTP2.0 (TLS) and Built-in LetsEncrypt handshake.
  • 📚 Libraries: Javascript / Typescript, React, Svelte, Rust
Atomic.Data.Screencap.mp4

Documentation

Check out the documentation for installation instructions, API docs, and more.

Contribute

Issues and PRs are welcome! And join our Discord! Read more in the Contributors guide.