Taiga is open source project management software in Python

Taiga Free Project Management Software

Free Project Management Software for Agile-Based Projects

Open source project management tool for agile developers and designers. It supports seamless integration with GitHub, Gitlab, Slack, Hipchat, and Mattermost.

Overview

Taiga is open source on premise project management software that helps project teams to manage projects using agile or conventional methods. It is a simple, instinctive, and robust project management application for multi-functional agile teams. It provides all the modern features e.g. Backlog, Burn down chart, Kanban, Scrum, Issue tacking, Sprint planning, Epics, Wiki, etc. Moreover, you can define team roles, estimate story points per role with an assessment game, and move incomplete user stories to different sprints.

Taiga’s extensive customization options you can extend and customize functionalities as per your business needs. It supports integration with GitHub, Gitlab, Slack, Hipchat, and Mattermost. It also provides an easy to set up webhooks and powerful API to integrate with your business applications. It also allows adding custom fields to task cards. Taiga has built-in WIP limits feature. You can seamlessly import your project data from Trello, Asana, Github, or Jira. Taiga has easy to use user interface that allows your teams to easily get started to manage projects.

System Requirements

Taiga’s frontend developed in AngularJS and CoffeeScript; backend, in Django and Python. It requires following software.

  • Python 3.4+
  • PostgreSQL 9.4+
  • NodeJS 7.0+
  • Ruby 2.1+
  • GCC & Development Headers
  • RabbitMQ (optional)

Features

Taiga has all the modern features that you can imagine from top agile project management software. Main features include

  • Scrum
  • Kanban
  • Issues Tracking
  • User friendly Admin Panel
  • Epics
  • Wiki
  • Tasks Management
  • Mobile App

Installation

Installation using Github

First make sure you have installed all the dependencies. Clone the latest taiga-back from github into document root folder:

    git clone https://github.com/taigaio/taiga-back.git taiga-back
    cd taiga-back
    git checkout stable

Create a new virtualenv named taiga:

    mkvirtualenv -p /usr/bin/python3 taiga

Install all Python dependencies:

    pip install -r requirements.txt

Execute all migrations to populate the database with basic necessary initial data:

    python manage.py migrate --noinput
    python manage.py loaddata initial_user
    python manage.py loaddata initial_project_templates
    python manage.py compilemessages
    python manage.py collectstatic --noinput

The above migrations create an administrator account. The login credentials are the following: username: admin password: 123123

To finish the setup of taiga-back, create the initial configuration file for proper static/media file resolution, optionally with email sending support:

Copy-paste the following config into ~/taiga-back/settings/local.py and update it with your own details:

    from .common import *
    
    MEDIA_URL = "http://example.com/media/"
    STATIC_URL = "http://example.com/static/"
    SITES["front"]["scheme"] = "http"
    SITES["front"]["domain"] = "example.com"
    
    SECRET_KEY = "theveryultratopsecretkey"
    
    DEBUG = False
    PUBLIC_REGISTER_ENABLED = True
    
    DEFAULT_FROM_EMAIL = "no-reply@example.com"
    SERVER_EMAIL = DEFAULT_FROM_EMAIL
    
    #CELERY_ENABLED = True
    
    EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
    EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:PASSWORD_FOR_EVENTS@localhost:5672/taiga"}
    
    # Uncomment and populate with proper connection parameters
    # to enable email sending. `EMAIL_HOST_USER` should end by @.
    #EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
    #EMAIL_USE_TLS = False
    #EMAIL_HOST = "localhost"
    #EMAIL_HOST_USER = ""
    #EMAIL_HOST_PASSWORD = ""
    #EMAIL_PORT = 25
    
    # Uncomment and populate with proper connection parameters
    # to enable GitHub login/sign-in.
    #GITHUB_API_CLIENT_ID = "yourgithubclientid"
    #GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"

Download the frontend code from GitHub:

    cd ~
    git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
    cd taiga-front-dist
    git checkout stable

Copy the example config file:

    cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json

Edit the example configuration following the pattern below (replace with your own details):

    {
    	"api": "http://example.com/api/v1/",
    	"eventsUrl": "ws://example.com/events",
    	"debug": "true",
    	"publicRegisterEnabled": true,
    	"feedbackEnabled": true,
    	"privacyPolicyUrl": null,
    	"termsOfServiceUrl": null,
    	"GDPRUrl": null,
    	"maxUploadFileSize": null,
    	"contribPlugins": []
    }

Having taiga-front-dist downloaded and configured is insufficient. The next step is to expose the code (in dist directory) under a static file web server.

 English