Giter Club home page Giter Club logo

os-project-pm-lavagna's Introduction

Lavagna

Join the chat at https://gitter.im/digitalfondue/lavagna

Build Status Coverage Status Maven Central Docker Status

Latest stable release is 1.0.7.2 (2016-10-06)

Latest pre-release is 1.1-M1 (2016-10-06)

About

Lavagna is a small and easy to use issue/project tracking software.

It requires Java 7 or better and optionally a database: MySQL, MariaDB or PostgreSQL. It can be deployed in a Java servlet container or as a self contained war.

See:

Install

Lavagna supports MySQL (at least 5.1), MariaDB (tested on 10.1), PostgreSQL (tested on 9.1) and HSQLDB (for small deploy).

It's distributed in 2 forms:

  • simple war for deploying in your preferred web container
  • self contained war with embedded jetty web server

See the documentation at http://help.lavagna.io

For testing purposes

If you want to test it locally, you can download the self contained war and run:

wget https://repo1.maven.org/maven2/io/lavagna/lavagna/1.0.7.2/lavagna-1.0.7.2-distribution.zip
unzip lavagna-1.0.7.2-distribution.zip
./lavagna-1.0.7.2/bin/lavagna.sh

Go to http://localhost:8080 and login with "user" (password "user").

See the README in the archive and the documentation at http://help.lavagna.io if you want to customize the scripts and set lavagna in production mode.

Docker

Lavagna is also available as a Docker image so you can try it on the fly:

https://registry.hub.docker.com/u/digitalfondue/lavagna/

On openshift

See the guide at http://lavagna.io/help/openshift/

Develop

Java and Kotlin

Lavagna runs on a Java 7 jvm, but requires Java 8 to build. (due to our documentation library). Some parts of Lavagna are made with Kotlin.

IDE Configuration

Use UTF-8 encoding and 120 characters as line width. You will need a Java and Kotlin aware IDE. (Currently tested with intellij and eclipse).

For eclipse: you will need to install the kotlin plugin and add the "Kotlin nature" to the project: Right click on the project -> "Configure Kotlin" -> "Add Kotlin nature"

Execute

Launch the Web Server:

mvn jetty:run

For launching Web Server + DB manager (HSQLDB only):

mvn jetty:run -DstartDBManager

for launching Web Server with the MySQL database (use the mysql profile):

mvn jetty:run -Pdev-mysql
mvn jetty:run -Pdev-pgsql

For debugging:

mvnDebug jetty:run

For running the test cases:

mvn test

For running the test cases with MySQL or PostgreSQL:

mvn test -Ddatasource.dialect=MYSQL
mvn test -Ddatasource.dialect=PGSQL

For running with jetty-runner:

mvn clean install
java -Ddatasource.dialect=HSQLDB -Ddatasource.driver=org.hsqldb.jdbcDriver -Ddatasource.url=jdbc:hsqldb:mem:lavagna -Ddatasource.username=sa -Ddatasource.password= -Dspring.profiles.active=dev -jar target/dependency/jetty-runner.jar --port 8080 target/*.war

When adding new file, remember to add the license header with:

mvn com.mycila:license-maven-plugin:format

Angular perfs

Use the following stats for keeping an eye on the performances:

Documentation

The documentation is written using stampo (see https://github.com/digitalfondue/stampo). It currently reside in src/main/stampo .

For building the doc:

mvn clean stampo:build

The output will be present in target/generated-docs

For testing the documentation run

mvn stampo:serve

And go to http://localhost:45001/

Vagrant

In order to make it easier to tests on different databases we included 3 Vagrant VMs. Make sure that you have installed Vagrant and VirtualBox before continuing.

Initialization

Fetch the submodules:

git submodule update --init

If you are under windows you need to ensure that the pgsql submodule is not in a broken state, double check that the file puppet\modules\postgresql\files\validate_postgresql_connection.sh is using the unix end of line (run dos2unix).

To run the tests with Vagrant boot the VMs with:

vagrant up [optionally use pgsql / mysql to boot only one VM]

Once that the VM is up and running run the tests:

mvn test -Ddatasource.dialect=PGSQL / MYSQL

Connecting manually:

PGSQL: localhost:5432/lavagna as postgres / password

MySQL: localhost:3306/lavagna as root

Notes about databases

The application uses UTF-8 at every stage and on MySQL you will need to create a database with the collation set to utf8_bin:

CREATE DATABASE lavagna CHARACTER SET utf8 COLLATE utf8_bin;

Code Coverage

Jacoco plugin is used.

mvn clean test jacoco:report

-> open target/site/jacoco/index.html with your browser

About Database migration

Can be disabled using the following system property: datasource.disable.migration=true

Check for updated dependencies

Notes:

  • HSQLDB at the moment will not be updated to version 2.3.2 due to a bug (default null+unique clause has changed)
mvn versions:display-dependency-updates
mvn versions:display-plugin-updates

os-project-pm-lavagna's People

Contributors

syjer avatar erost avatar sitoch avatar emazzotta avatar gitter-badger avatar velmuruganvelayutham avatar

Watchers

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