GithubHelp home page GithubHelp logo

ingesolvoll / 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.82 MB

a template project for the Luminus framework

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

License: MIT License

Clojure 89.96% Shell 0.21% HTML 8.60% Dockerfile 0.10% CSS 0.89% Gherkin 0.13% SCSS 0.10%

luminus-template's Introduction

Luminus-Template

Clojars Project

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:

Profile Category Description Compare
+aleph server adds the Aleph server diff
+http-kit server adds the fast HTTP Kit web server to the project diff
+immutant server adds the immutant web server to the project. Note: this project is no longer funded/maintained diff
+jetty server adds the jetty web server to the project diff
+undertow server adds the ring-undertow server. This is a default server. diff
+h2 database adds db.core namespace and H2 database dependencies diff
+postgres database adds db.core namespace and PostreSQL database dependencies diff
+mysql database adds db.core namespace and MySQL/MariaDB database dependencies diff
+mongodb database adds support for MongoDB using the Monger library diff
+datomic database adds support for the Datomic database diff
+sqlite database adds support for the SQLite database diff
+graphql service API adds GraphQL support using Lacinia diff
+swagger service API adds support for Swagger-UI diff
+service service API removes static assets and the layout, adds Swagger support diff
+cljs ClojureScript adds ClojureScript support to the project diff
+reagent ClojureScript adds ClojureScript support with Reagent to the project along with an example diff
+re-frame ClojureScript adds ClojureScript support with re-frame to the project along with an example diff
+kee-frame ClojureScript adds kee-frame to the project diff
+shadow-cljs ClojureScript adds shadow-cljs support to the project, replacing the default cljsbuild and figwheel setup diff
+boot misc causes the project to run with Boot instead of Leiningen diff
+auth misc adds Buddy dependency and authentication middleware diff
+auth-jwe misc adds Buddy dependency with the JWE backend diff
+oauth misc adds OAuth dependency diff
+hoplon misc adds ClojureScript support with Hoplon to the project diff
+cucumber misc adds support for browser based UI testing with Cucumber and clj-webdriver diff
+sassc misc adds support for SASS/SCSS files using SassC command line compiler diff
+war misc adds support of building WAR archives for deployment to servers such as Apache Tomcat (should NOT be used for Immutant apps running on WildFly) diff
+site misc creates template for site using the specified database (H2 by default) and ClojureScript diff
+kibit misc adds lein-kibit plugin diff
+servlet misc adds middleware for handling Servlet context diff
+basic misc generates a bare bones luminus project diff

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.

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.