Overview
AtomicServer is a lightweight but powerful CMS/Graph Database that allows users to create, share, fetch, and model Atomic Data. It includes various libraries and features such as the Atomic Data Browser, @tomic/lib JS NPM library, @tomic/react React NPM library, @tomic/svelte Svelte NPM library, and the atomic_lib Rust library. The software is in the alpha stage, with breaking changes expected until version 1.0. It boasts fast response times, lightweight installation, and compatibility with various operating systems.
Features
- Fast: Median response time is less than 1ms on a typical laptop, thanks to the actix-web and sled technologies.
- Lightweight: The software has a small 8MB download size and no runtime dependencies.
- Cross-platform: Runs on Linux, Windows, Mac, and ARM devices.
- Custom data models: Users can create their own classes and forms using the Atomic Schema, all of which can be verified and shared.
- Documents: Collaborative rich-text documents, similar to Google Docs or Notion.
- Restful API: Provides a JSON-AD response format.
- Tables: Supports tables with strict schema validation, keyboard and copy/paste support, similar to Airtable.
- Group chat: Includes a group chat feature.
- Versioning and history: Supports event-sourced versioning and history powered by Atomic Commits.
- Websockets: Supports synchronization with clients by communicating state changes.
- Embedded server: Has built-in support for HTTP, HTTPS, HTTP2.0, and a built-in LetsEncrypt handshake.
- Serialization options: Offers various serialization options including JSON, JSON-AD, RDF/XML, N-Triples, Turtle, JSON-LD, and more.
- Full-text search: Provides full-text search with fuzzy search and quick response times using tantivy technology.
- Pagination, sorting, and filtering: Allows for pagination, sorting, and filtering queries using Atomic Collections.
- Authorization and hierarchy: Supports read/write permissions and hierarchical structures using Atomic Hierarchy.
- Sharing system: Includes an invite and sharing system using Atomic Invites.