AtomicServer and its features

AtomicServer is the reference implementation of the Atomic Data Core + Extended specification. It was developed parallel to this specification, and it served as a testing ground for various ideas (some of which didn't work, and some of which ended up in the spec).

AtomicServer is a real-time headless CMS, graph database server for storing and sharing typed linked data. It's free, open source (MIT license), and has a ton of features:

  • 🚀 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