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
https://user-images.githubusercontent.com/2183313/139728539-d69b899f-6f9b-44cb-a1b7-bbab68beac0c.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.