https://github.com/bnadlerjr/lein-compojure
Leiningen template for generating Compojure projects.
https://github.com/bnadlerjr/lein-compojure
Last synced: 2 months ago
JSON representation
Leiningen template for generating Compojure projects.
- Host: GitHub
- URL: https://github.com/bnadlerjr/lein-compojure
- Owner: bnadlerjr
- License: epl-1.0
- Created: 2018-08-11T05:48:51.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-20T01:46:09.000Z (over 6 years ago)
- Last Synced: 2025-02-02T15:52:33.415Z (4 months ago)
- Language: Clojure
- Size: 50.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# lein-compojure
A Leiningen template for compojure projects.
## Features
Generates a compojure project with the following default features:
* Basic REPL user namespace with doc and refresh support
* Continuous testing with [lein-test-refresh](https://github.com/jakemcc/lein-test-refresh)
* Environment variable management with [lein-environ](https://github.com/weavejester/environ)
* Heroku deployment via the [lein-heroku](https://github.com/heroku/lein-heroku) plugin
* Integration with [lein-ring](https://github.com/weavejester/lein-ring) server
* [HTTP Kit](http://www.http-kit.org/) web server in production
* [Prone](https://github.com/magnars/prone) for exception reporting middleware during development
* [Selmer](https://github.com/yogthos/Selmer) templating with default [Bootstrap](https://getbootstrap.com/docs/3.3/) layout and [FontAwesome](https://fontawesome.com/) support
* Optional PostgreSQL support with [HugSQL](https://www.hugsql.org/) and migrations with [ragtime](https://github.com/weavejester/ragtime)
* Optional SASS support## Usage
`lein new bnadlerjr/lein-compojure PROJECT_NAME [+postgresql]`
## Clojars
1. Document added, removed, fixed, etc. in CHANGELOG
1. Update the version in `project.clj`
1. `git add . && git commit`
1. `git tag -a vx.x.x -m "Tag version x.x.x"`
1. `git push --tags && git push`
1. `lein deploy clojars`## TODO:
* 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?)## License
Copyright © 2018 Bob Nadler, Jr.
Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.