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:
- Atomic Data Browser, the React front-end for Atomic-Server.
@tomic/lib
JS NPM library.@tomic/react
React NPM library.@tomic/svelte
Svelte NPM library.atomic_lib
Rust library.atomic-cli
terminal client.docs
documentation / specification for Atomic Data (docs.atomicdata.dev).
Status: alpha. Breaking changes are expected until 1.0.
- 🚀 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
Check out the documentation for installation instructions, API docs, and more.
Issues and PRs are welcome! And join our Discord! Read more in the Contributors guide.