Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 3.89 KB

File metadata and controls

47 lines (35 loc) · 3.89 KB

Creating Atomic Data using Atomic-Server

Atomic-Server and its features

Atomic-Server 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).

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

  • ⚛️ Dynamic schema validation / type checking using Atomic Schema. Combines safety of structured data with the
  • 🚀 Fast (1ms responses on my laptop)
  • 🪶 Lightweight (15MB binary, no runtime dependencies)
  • 💻 Runs everywhere (linux, windows, mac, arm)
  • 🌐 Embedded server with support for HTTP / HTTPS / HTTP2.0 and Built-in LetsEncrypt handshake.
  • 🎛️ Browser GUI included powered by atomic-data-browser. Features dynamic forms, tables, authentication, theming and more.
  • 💾 Event-sourced versioning / history powered by Atomic Commits
  • 🔄 Synchronization using websockets: communicates state changes with a client. Send a wss request to /ws to open a webscocket.
  • 🧰 Many serialization options: to JSON, JSON-AD, and various Linked Data / RDF formats (RDF/XML, N-Triples / Turtle / JSON-LD).
  • 🔎 Full-text search with fuzzy search and various operators, often <3ms responses.
  • 📖 Pagination, sorting and filtering using Atomic Collections
  • 🔐 Authorization (read / write permissions) and Hierarchical structures powered by Atomic Hierarchy
  • 📲 Invite and sharing system with Atomic Invites
  • 📂 File management: Upload, download and preview attachments.
  • 🖥️ Desktop app: Easy desktop installation, with status bar icon, powered by tauri.

Using the Atomic-Server

You can use the Atomic-Server with the build in Atomic-Browser.
Take a look at the demo installation at atomicdata.dev or install your own copy of the server.

Running Atomic-Server locally (optional)

In this guide, we'll can simply use atomicdata.dev in our browser without installing anything. So you can skip this step and go to Using the Atomic-Server.

If you just want to try out the Atomic server, you can use the demo But if you want to, you can run Atomic-Server on your machine in a couple of ways:

  • Using a desktop installer: download a desktop release from the releases page and install it using your desktop GUI.
  • Using a binary: download a binary release from the releases page and open it using a terminal.
  • Using Docker is probably the quickest: docker run -p 80:80 -p 443:443 -v atomic-storage:/atomic-storage joepmeneer/atomic-server.
  • Using Cargo: cargo install atomic-server and then run atomic-server to start.

Atomic-Server's README contains more (and up-to-date) information about how to use it!

You can now start using the Atomic-Server with the build in Atomic-Browser which we will explain in the next page.