Skip to content

ngi-nix/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.

About

Create, share, fetch and model Atomic Data! This project consists of a graph database + server, a CLI and a rust library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 66.0%
  • Rust 32.4%
  • Other 1.6%