bm3719 / webapp-template

A mildly opinionated template for a Clojure/Clojurescript web application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

webapp-template

A template for a web application written entirely in Clojure and ClojureScript.

Usage

To run the server from the REPL:

;; TODO: Example forthcoming.

Details

The goal of this template is to bring together the best and most idiomatic practices (as of 2018) for creating a Clojure and ClojureScript web application. Necessarily, it makes a few judgment calls where community consensus doesn’t exist.

This is still WIP, but some things I know I do want here:

  • Single-page app.
  • A sample front-end with just a few features past Hello World. This will be based on a somewhat modified set of the practices described in parts of the book Web Development with Clojure, hopefully minus the web framework stuff.
  • Component will wrap all state management and service integration. May replace this later with mount or integrant.
  • The reloaded workflow, integrated with Component. This uses a dev release of clojure.tools.namespace, which supports ClojureScript.
  • bidi will handle URI routing.
  • Aleph for the integrated webserver. Might just have this just for running in development, and having the application run in a servlet container by default.
  • Full stack unit and integration tests. Possible generative tests too.
  • An example database, in SQLite, read from with Korma.
  • Probably other stuff, like clojure.spec, Hiccup (for HTML templating), some documentation generation solution, edn, etc.

License

Copyright © 2018

Distributed under the GNU Public License Version 3.

About

A mildly opinionated template for a Clojure/Clojurescript web application

License:GNU General Public License v3.0


Languages

Language:Clojure 100.0%