Uses Clojure, Ring, Reitit, Integrant, Datomic Local.
- Install Clojure CLI
- Run
clj -M:dev
to start the dev REPL. - Run
(go)
to start the server.
This project manages system dependencies with Integrant. Just like Stuart Sierra's Component, Integrant allows you to update the system without restarting the REPL. This is called "reloaded workflow".
Here's how you can do it:
- When your dev REPL is running, head to
dev/user.clj
file. - Run
(go)
inside comment form to start the server. - Now, you can make changes to the system dependencies (e.g. ports, database connections, etc.) and run
(reset)
to reload the server.
I got tons of tips from these wonderful resources: