Code Monkey home page Code Monkey logo

luminus-template's Introduction

Luminus-Template

A Leiningen template for projects using Luminus.

The template initializes a base Luminus application.

Requirements

Luminus requires Leiningen version 2.5.3+

Usage

The Luminus template ships out of the box with your latest Leiningen. Run the following command to create a new Luminus project which uses the default profile template:

lein new luminus <your project name>

However, if you would like to attach further functionality to your template you can append profile hints for these extended features:

routing

  • +reitit adds Reitit Clojure/Script router support

alternative servers

  • +aleph adds the Aleph server
  • +http-kit adds the fast HTTP Kit web server to the project
  • +jetty adds the jetty web server to the project

databases

service API

  • +graphql - adds GraphQL support using Lacinia
  • +swagger adds support for Swagger-UI using the compojure-api library
  • +service removes static assets and the layout, adds Swagger support

ClojureScript

misc

  • +boot causes the project to run with Boot instead of Leiningen
  • +auth adds Buddy dependency and authentication middleware
  • +auth-jwe adds Buddy dependency with the JWE backend
  • +oauth adds OAuth dependency
  • +hoplon adds ClojureScript support with Hoplon to the project
  • +cucumber adds support for browser based UI testing with Cucumber and clj-webdriver
  • +sassc adds support for SASS/SCSS files using SassC command line compiler
  • +war adds support of building WAR archives for deployment to servers such as Apache Tomcat (should NOT be used for Immutant apps running on WildFly)
  • +site creates template for site using the specified database (H2 by default) and ClojureScript
  • +kibit add lein-kibit plugin
  • +servlet adds middleware for handling Servlet context

To add a profile simply pass it as an argument after your application name, e.g.:

lein new luminus myapp +cljs

You can also mix multiple profiles when creating the application, e.g.:

lein new luminus myapp +auth +postgres

To build as a executable Java ARchive (JAR) standalone, run the following command:

lein uberjar

Or if using the +boot profile:

boot uberjar

To run the resulting standalone executable .jar file, do as you would with any other:

user$ java -jar target/myapp.jar
15-Sep-14 16:06:21 APc47d.4f39.65e6.uhn.ca INFO [myapp.handler] -
-=[myapp started successfully]=-
16:06:21.685 INFO  [org.projectodd.wunderboss.web.Web] (main) Registered web context /
15-Sep-14 16:06:21 APc47d.4f39.65e6.uhn.ca INFO [myapp.core] - server started on port: 3002

Performance Testing

The app can be stress tested by running the Apache benchmark command:

ab -c 10 -n 1000 http://127.0.0.1:3000/

The memory and CPU usage can be inspected by running either jconsole or jvisualvm and attaching them to a running Luminus server.

Other Templates

There is also a public comparison chart of the common templates.

License

Copyright © 2016 Dmitri Sotnikov

Distributed under the MIT License.

luminus-template's People

Contributors

alguevara7 avatar beetleman avatar bitemyapp avatar boechat107 avatar cola-zero avatar computeremotion avatar deg avatar donyorm avatar edtsech avatar haraldkoch avatar holyjak avatar ikitommi avatar ingesolvoll avatar john2x avatar matsu911 avatar nrakochy avatar priornix avatar punkisdead avatar pupeno avatar rterbush avatar seabre avatar smee avatar spariev avatar spradnyesh avatar supersym avatar tmcf avatar tolitius avatar uhnuser avatar v-kolesnikov avatar yogthos avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.