Skip to content
An intellectual (HTTP/HTTPS) web server with support for server side templating (Crush, Apache Velocity and JTwig)
Branch: master
Clone or download
Latest commit aca02b2 Mar 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assert
Crush
Examples
FileSystem
Implementation
JTwig
ServerAPI
Velocity
gradle/wrapper
.gitattributes
.gitignore
HEADER
LICENSE
PROGRESS.md
README.md
build.gradle
code_style.xml
gradlew
gradlew.bat
old-version.txt
pom.xml
prepare.bat
prepare.sh
settings.gradle
start.bat
start.sh
version.txt

README.md

Kvantum

Kvantum

NOTE: The project is currently still in development. Beware - Things will break.

Kvantum is a OSS project maintained by Alexander Söderberg. Kvantum is a web server and web framework written in Java. For support, submit a new issue or email sauilitired@gmail.com

Progress

You can see the current progress here along with W.I.P and TODO's.

Project Stats

Travis CI: Build Status

Description

Kvantum is a lightweight, portable and (if you so desire) embeddable (HTTP/HTTPS) web server, written entirely in java. It is meant to be easy to use, yet offer a wide variety of tools and utilities to simplify the development of your website. It comes shipped with tools such as account management, database connectors and template engine support. All to remove the need for repeated boilerplate.

Kvantum can be used both as a standalone web server for static content, natively serving:

  • HTML
  • CSS
  • JavaScript
  • (Downloading of...) PDF, TXT & ZIP
  • Images (PNG, ICO, SVG)
  • Webjars resources as static files
  • ... and the system can also be extended programmatically, both by extending the application itself, by scripts and by plugins.

and as a web framework with a powerful API. Everything served by Kvantum, regardless if it's dynamic or static, can be managed by templates. Kvantum supports Crush, JTwig and Apache Velocity out of the box!

Examples

Code examples can be found at this link. There are also some sample projects (may not be up to date): Forum, KvantumBlog, Foton and KvantumBukkit.

Prerequisites

Kvantum only requires Java 8 (or later versions) to be installed on your system.

How to run

Note: These are the instructions to run Kvantum as a standalone web server. If you instead want to use the framework, please refer to the wiki

The easiest way to run Kvantum as a standalone web server is to use a pre-compiled Implementation jar file. These can be found in releases. Simply download the jar file into a directory, and then run it using:

java -jar /path/to/Implementation-all.jar

However, if you'd rather call the main method directly, then it is located in KvantumMain

Wiki/Information

More information can be found in our wiki

Development

Code Style

If you are planning to commit any changes to the project, it would be highly appreciated if you were to follow the project code style conventions. To make this easier we have provided settings that can be imported into your IDE.

Eclipse: Window > Preferences > Java > Code Style > Formatter Press Import and select ...path/to/project/code_style.xml

IntelliJ: File > Settings > Editor > Code Style. Next to "Scheme" there is a cog wheel, press that and then Import Scheme > Eclipse XML Profile and then select ..path/to/project/code_style.xml

Maven

<repositories>
    <repository>
        <id>Incendo</id>
        <url>https://incendo.org/mvn/repository/maven-releases/</url>
    </repository>
</repositories>

<dependency>
    <groupId>xyz.kvantum</groupId>
    <artifactId>Implementation</artifactId>
    <version>1.3</version>
</dependency>

Building from scratch

On *nix:

$ git clone git://github.com/IntellectualSites/Kvantum.git
$ cd Kvantum
$ chmod a+x ./gradlew
$ ./gradlew :build

Windows:

$ git clone git://github.com/IntellectualSites/Kvantum.git
$ cd Kvantum
$ ./gradlew.bat :build
You can’t perform that action at this time.