
ShipClojure
23 posts

ShipClojure
@shipclojure
Ship your Clojure startup in 1 day. Complete boilerplate with auth, payments & UI components. Built for speed. 🚀





Just released ring-nexus-middleware 🎉 Middleware to support FCIS (Functional Core, Imperative Shell) style programming in ring handlers through github.com/cjohansen/nexus - a zero-dependency data-driven action dispatch system. Why? Classic ring handlers are hard to test and, 99% of the time, are impure functions. The classic ring handler goes like this: 1. Add dependencies (DB connection, client with internal secret, etc) to the request map (or to scope with a hoc) 2. Do impure stuff in the request handler body 3. Return a ring map based on the results What ring-nexus-middleware does: • Enables Ring handlers to return nexus actions instead of response maps • Provides built-in HTTP response actions (:http-response/ok, :http-response/bad-request, etc.) • Adds a pure snapshot of your system to each request • Works with any “live system” (atoms, Datomic/SQL connections, etc.) Using ring-nexus-middleware, you can write pure handlers that are easily testable. Github: github.com/ovistoica/ring… Examples: github.com/ovistoica/ring… Hope this is useful for you! 🥳












@shipclojure is officially launching on May 1st. Many people told me I should drop the project since it is a small market. I didn't do it because I firmly believe #clojure should see more adoption, given the productivity gains and pleasure it creates for programmers. I don't want the language to fade into "nice language" territory in this new AI age. I'll post more updates in the coming weeks.





@gyurisc If you’d like to change the stack for something more designed for functional programming, you could try @shipclojure

Stability is one of the biggest advantages of the #clojure ecosystem I updated some dependencies of @shipclojure and everything just kept working as normal.







