Giter Club home page Giter Club logo

laboard's Introduction

Laboard Build Status

A kanban board made for Gitlab

Requirements

  • nodejs ~ 0.10.26 or docker >= 1.4.1
  • Gitlab > 7.1

How does it work

Laboard uses a file storage for columns definition. This is the only thing it stores by itself. Everything else is managed with issues labels.

Adding an issue to a column will place a special label on it (column:*). This is how it works. Of course, Laboard keeps everything clean and removes useless labels when issues are moved. This will keep your issue tracker clean and provides you a clear view on the board.

Installation

The installation proccess is quite simple. You will first have to install some tools:

$ npm install -g bower gulp

Then clone the source repository and run gulp:

$ git clone https://gitlab.com/laboard/laboard.git
$ cd laboard
$ npm install
$ bower install

Configuration

The Laboard configuration is minimal:

  • config/server.js:
    • gitlab_url : The URL to your Gitlab instance (for example http://gitlab.example.com)
    • port: Port to which the HTTP server is bound
    • column_prefix: Prefix for gitlab issue label to map columns, for example an issue in the column backlog will have the label column:backlog
    • theme_prefix: Prefix for gitlab issue label, for example a red issue will have label theme:danger
    • board_prefix: Prefix for gitlab issue label, for example a starred issue will have label board:starred
    • redis: Configuration of the redis server
      • host: Hostname of the server
      • port: Port to connect to

Start

Docker

If you already have docker installed, starting laboard is a simple one-liner:

$ docker run --name=redis --detach redis
$ docker run --name=laboard --link=redis:redis --publish=8080:8080 laboard/laboard

Ok, it's a two-liner actually.

Laboard should now be reachable using the http://localhost:8080 URL. If you are running docker through boot2docker you will have to replace localhost with the URL of the VM. You can get it by running boot2docker ip.

No docker

If you don't want to install docker on your machine, you will still have to have nodejs installed. And redis. Once everything is set up, run the following commands in the laboard's root directory:

$ npm install
$ bower install
$ node bin/server.js # OR gulp server

Do not forget to export NODE_ENV=production before running the above commands if you are running laboard on a production machine.

Hacking

If you want to hack into Laboard, first, follow the installation guide. Once you are done, you'll be able to start Laboard locally thanks to docker and fig.

Using the fig up command you will get an environment with the following containers:

  • a data container mapping the ., data and docker directories
  • a redis container
  • a commander container to manage redis (listenning on port 8282)
  • a api container serving the laboard API
  • a static container serving the frontend code
  • two websocket container serving laboard websocket
  • a haproxy container in front of laboard containers

Every gulp related command should be launched on the host machine to avoid side-effects. This includes common tasks like app or watch, and test tasks like karma or test.

Before running tests, be sure to define the NODE_ENV=test.

License

Laboard is licensed under MIT license

laboard's People

Contributors

jubianchi avatar koenhuybrechts avatar digibart avatar bobey avatar

Watchers

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