A TodoMVC implementation using Dato, the Clojure/Script Datomic/DataScipt app development framework.
This is an implementation of TodoMVC using Datomic on the backend to persist data that's then fed to DataScript in the frontend. The UI is driven entirely from the DataScript DB (even component local state). See the Dato Rationale for more. Here's a video of what it looks like once it's running
-
Install and start Datomic (TODO: friendlier instructions here)
-
Clone this repo
git clone [email protected]:sgrove/datodomvc.git cd datodomvc git submodule update --init
-
Start the figwheel server. Figwheel compiles the frontend assets, recompiles them when the files change, and updates the browser with the changed code.
lein figwheel
orrlwrap lein figwheel
-
Start the web server. Export a few environment variables to get things working on your system. The DatodoMVC example uses environ, so you can also define env variables in a local profiles.clj.
export DATOMIC_URI="datomic:free://localhost:4334/pc2" # This will depend on your datomic setup export NREPL_PORT=6005 # starts embedded nrepl server export DATO_PORT=8081 # 8080 is the default value, change it if there is a port conflict export PORT=10556 # 10555 is the default lein run
- For questions on getting this demo running or modifying it, feel free to open issues on this repo.
- For overall Dato design issues, please use the Dato Repo's issue tracker
- General questions, I'm on twitter at @sgrove
Copyright © 2015 Sean Grove
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.