Giter Site home page Giter Site logo

v-kolesnikov / luminus-template Goto Github PK

View Code? Open in Web Editor NEW

This project forked from luminus-framework/luminus-template

0.0 2.0 0.0 2.29 MB

a template project for the Luminus framework

Home Page: http://www.luminusweb.net/

Clojure 90.26% Shell 0.23% HTML 8.86% Dockerfile 0.11% CSS 0.22% Gherkin 0.15% PLSQL 0.17%

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

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

Watchers

James Cloos 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.