Skip to content

Repository files navigation

Roll framework

roll /ˈrōl/

informal. to begin to move or operate; start; commence. Let's roll at sunrise.


Roll makes it easy for your project to include a Webserver (Http-kit or Aleph), Websockets (Sente), REPL (nREPL), Routing (Reitit), Task Scheduling (Chime), File Watching (Hawk) and Logging (Timbre). Configure and manage them using a simple config file (Integrant).


Leiningen

roll is published on Clojars. Add the following to your project.clj's :dependencies:

[dimovich/roll "0.3.337"]

Clojure CLI/deps.edn

dimovich/roll {:mvn/version "0.3.337"}

Example

(To run this you'll need to install Clojure CLI tools.)

deps.edn

{:paths ["src"]
:deps {dimovich/roll {:mvn/version"0.3.337"}}}

config.edn

{:roll/httpkit {:port5000}
:roll/handler {:routes [["/" example.server/index]]}}

src/example/server.clj

(nsexample.server
(:require [roll.core]))
(defnindex [req]
{:status200:body"Hello World!"})
(defn-main []
(roll.core/init"config.edn"))

Start

clj -m example.server

Navigate to localhost:5000.


Example Projects

Basic and Descryptors.


For all possible options see config.edn.

For Aleph support see this git branch.

Releases

Used by

Contributors

Languages