{"id":32192041,"url":"https://github.com/dimovich/roll","last_synced_at":"2025-10-22T01:57:17.314Z","repository":{"id":57713634,"uuid":"121730101","full_name":"dimovich/roll","owner":"dimovich","description":"Roll — backend for Clojure","archived":false,"fork":false,"pushed_at":"2024-04-19T09:03:58.000Z","size":405,"stargazers_count":78,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-22T01:57:03.422Z","etag":null,"topics":["aleph","backend","clojure","http-kit","integrant","nrepl","reitit","reloaded-workflow","sente","tools-deps"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimovich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-16T08:46:00.000Z","updated_at":"2025-10-06T22:01:02.000Z","dependencies_parsed_at":"2022-08-25T09:12:07.912Z","dependency_job_id":null,"html_url":"https://github.com/dimovich/roll","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dimovich/roll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimovich%2Froll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimovich%2Froll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimovich%2Froll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimovich%2Froll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimovich","download_url":"https://codeload.github.com/dimovich/roll/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimovich%2Froll/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280365591,"owners_count":26318385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aleph","backend","clojure","http-kit","integrant","nrepl","reitit","reloaded-workflow","sente","tools-deps"],"created_at":"2025-10-22T01:57:16.450Z","updated_at":"2025-10-22T01:57:17.298Z","avatar_url":"https://github.com/dimovich.png","language":"Clojure","readme":"\u003cimg height=\"80px\" src=\"/resources/roll.png\"\u003e\n\n# Roll framework\n\n\u003e  roll /ˈrōl/\n\u003e\n\u003e  _informal_. to begin to move or operate; start; commence.\n\u003e  _Let's roll at sunrise._\n\n\u003cbr\u003e\n\n__Roll__ makes it easy for your project to include a ___Webserver___ ([Http-kit](http://www.http-kit.org/) or [Aleph](https://aleph.io/)), ___Websockets___ ([Sente](https://github.com/ptaoussanis/sente)), ___REPL___ ([nREPL](https://github.com/clojure-emacs/cider-nrepl)), ___Routing___ ([Reitit](https://github.com/metosin/reitit)), ___Task Scheduling___ ([Chime](https://github.com/jarohen/chime)), ___File Watching___ ([Hawk](https://github.com/wkf/hawk)) and ___Logging___ ([Timbre](https://github.com/ptaoussanis/timbre)). Configure and manage them using a simple config file ([Integrant](https://github.com/weavejester/integrant)).\n\n\u003cbr\u003e\n\n## Leiningen\n\n`roll` is published on [Clojars](https://clojars.org/dimovich/roll).\nAdd the following to your `project.clj`'s `:dependencies`:\n\n    [dimovich/roll \"0.3.337\"]\n\n\n## Clojure CLI/deps.edn\n\n\tdimovich/roll {:mvn/version \"0.3.337\"}\n\n\n## Example\n\n(To run this you'll need to install [Clojure CLI tools](https://clojure.org/guides/getting_started).)\n\u003cbr\u003e\u003cbr\u003e\n\n__deps.edn__\n\n``` clojure\n{:paths [\"src\"]\n\n :deps {dimovich/roll {:mvn/version \"0.3.337\"}}}\n```\n\n\n\n__config.edn__\n\n```clojure\n{:roll/httpkit {:port 5000}\n\n :roll/handler {:routes [[\"/\" example.server/index]]}}\n```\n\n\n\n__src/example/server.clj__\n\n``` clojure\n(ns example.server\n  (:require [roll.core]))\n\n\n(defn index [req]\n  {:status 200 :body \"Hello World!\"})\n\n\n(defn -main []\n  (roll.core/init \"config.edn\"))\n```\n\n\n\n### Start\n\n```\nclj -m example.server\n```\n\nNavigate to [localhost:5000](http://localhost:5000).\n\n\u003cbr\u003e\n\n## Example Projects\n\n[Basic](/example) and [Descryptors](https://github.com/descryptors/descryptors).\n\n\u003cbr\u003e\n\nFor all possible options see [config.edn](/config.edn).\n\nFor Aleph support see [this git branch](https://github.com/dimovich/roll/tree/aleph).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimovich%2Froll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimovich%2Froll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimovich%2Froll/lists"}