A Clojure/ClojureScript web framework for building reactive applications with Datomic/DataScript sync and unidirectional data flow.
Datsys is a web application development framework for Clojure and ClojureScript that enables building reactive applications with seamless synchronization between server-side Datomic and client-side DataScript databases. It provides a modular architecture based on unidirectional data flow and the Datom model, simplifying state management and UI rendering.
Clojure and ClojureScript developers building reactive web applications who want to leverage Datomic/DataScript synchronization and a component-based architecture.
Developers choose Datsys for its modular design, which allows mixing and matching components like Datsync, Datview, and Datreactor, and for its embrace of the Datom model and datalog queries for powerful state management.
(+ clj cljs datomic datascript re-frame-esque-frp)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The framework allows mixing and matching components like Datsync, Datview, and Datreactor, as demonstrated in the system configuration where you can choose which pieces to hook up.
Datsync synchronizes Datomic and DataScript databases in real-time, enabling reactive data flow between server and client without manual handling, as highlighted in the key features.
Datview provides reusable Reagent components that dynamically translate database queries into UI, leveraging datalog for efficient state management and rendering.
Datreactor implements Re-frame style event handling and transaction coordination, simplifying side effects and unidirectional data flow in DataScript connections.
The roadmap admits missing critical features like security scoping and offline availability for Datsync, indicating the framework is still under active development and not fully production-ready.
Getting started requires cloning multiple repos, configuring Leiningen with checkout dependencies, and understanding Stuart Sierra's component model, which can be daunting for newcomers.
The project openly lists documentation as a pending task in the roadmap for both Datview and Datsys, which can hinder learning and troubleshooting for developers.