A Leiningen template for compojure projects.
Generates a compojure project with the following default features:
- Basic REPL user namespace with doc and refresh support
- Continuous testing with lein-test-refresh
- Environment variable management with lein-environ
- Heroku deployment via the lein-heroku plugin
- Integration with lein-ring server
- HTTP Kit web server in production
- Prone for exception reporting middleware during development
- Selmer templating with default Bootstrap layout and FontAwesome support
- Optional PostgreSQL support with HugSQL and migrations with ragtime
- Optional SASS support
lein new bnadlerjr/lein-compojure PROJECT_NAME [+postgresql]
- Document added, removed, fixed, etc. in CHANGELOG
- Update the version in
project.clj
git add . && git commit
git tag -a vx.x.x -m "Tag version x.x.x"
git push --tags && git push
lein deploy clojars
- optional cljs support
- investigate how mount could fit in
- exception email support; middleware for prod --> maybe segment which can send info to bugsnag or another service? -- actually segment only sends identify to bugsnag, specific bugsnag middleware is still needed (https://github.com/omartell/bugsnag-client-clj/blob/master/src/bugsnag_client/core.clj)
- optional MongoDB support w/ Monger
- optional user mgmt. support (users table, queries, templates, login, registration, password reset, forgot password)
- optional user mgmt. support for OAuth (user table, queries, user creation, login)
- look into using hooks for DB functions (https://github.com/technomancy/robert-hooke/)
- CircleCI support
- better 500 and 404 error handling (default pages? middleware for 500?)
Copyright © 2018 Bob Nadler, Jr.
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.