Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/digitalfondue/lavagna
Lavagna: issue tracker/project management tool
https://github.com/digitalfondue/lavagna
bugtracker issue-board issue-tracker java kanban project-management project-planning
Last synced: 3 months ago
JSON representation
Lavagna: issue tracker/project management tool
- Host: GitHub
- URL: https://github.com/digitalfondue/lavagna
- Owner: digitalfondue
- License: gpl-3.0
- Created: 2014-10-30T11:46:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-17T21:49:15.000Z (almost 2 years ago)
- Last Synced: 2024-08-01T12:29:47.773Z (6 months ago)
- Topics: bugtracker, issue-board, issue-tracker, java, kanban, project-management, project-planning
- Language: Java
- Homepage: http://lavagna.io
- Size: 12.6 MB
- Stars: 636
- Watchers: 41
- Forks: 110
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-GPLv3.txt
Awesome Lists containing this project
- awesome-repositories - digitalfondue/lavagna - Lavagna: issue tracker/project management tool (Java)
- awesome-starred - digitalfondue/lavagna - Lavagna: issue tracker/project management tool (project-management)
README
Lavagna
======[![Java CI with Maven](https://github.com/digitalfondue/lavagna/workflows/Java%20CI%20with%20Maven/badge.svg)](https://github.com/digitalfondue/lavagna/actions?query=workflow%3A%22Java+CI+with+Maven%22)
[![Maven Central](https://img.shields.io/maven-central/v/io.lavagna/lavagna.svg)](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22lavagna%22)
[![Github All Releases](https://img.shields.io/github/downloads/digitalfondue/lavagna/total.svg)](https://github.com/digitalfondue/lavagna/releases)
[![Docker Status](https://img.shields.io/docker/pulls/digitalfondue/lavagna.svg)](https://registry.hub.docker.com/u/digitalfondue/lavagna/)# Latest stable release is 1.1.9 (2021-12-30) #
## About ##
[Lavagna](http://lavagna.io) is a small and easy to use issue/project tracking software.
It requires Java 8 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:
- [roadmap](https://github.com/digitalfondue/lavagna/blob/master/ROADMAP.md)
- [changelog](https://github.com/digitalfondue/lavagna/blob/master/CHANGELOG.md)
- [download](http://lavagna.io/download/)## 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.1.9/lavagna-1.1.9-distribution.zip
unzip lavagna-1.1.9-distribution.zip
./lavagna-1.1.9/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/
```## Develop ##
### Java and Kotlin ###
Lavagna runs on a Java 8 jvm.
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"### Javascript
Install npm and run the following script to assure your code follows our guidelines
First ensure that all the dependencies are ok with `npm install`.
Then, for checking:
```
npm run-script lint
```Fix any error or warning before opening a pull request
### 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
```
- go to http://localhost:8080
if you have a 403 error, you must configure the application,
go to http://localhost:8080/setup, select demo + insert user "user".- enter
username: user
password: userFor 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.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:
- https://github.com/kentcdodds/ng-stats has a bookmarklet
- https://github.com/mrdoob/stats.js/ has a bookrmarklet### 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 ##
```
mvn versions:display-dependency-updates
```
```
mvn versions:display-plugin-updates
```## Supported by ##
[![Alt text](misc/jetbrains.png)](https://www.jetbrains.com/?from=Lavagna)