TaskBoard is a free and open source Kanban inspired tool for keeping track of tasks and work activities that need to get done. It gives you a simple and clean interface for managing your tasks. TaskBoard is currently being re-written from scratch. The master and dev branches are still maintained but are not getting new features at this time.
Components of TaskBoard
TaskBoard has a backend and Frontend sub-systems. The components of Front-end are:
- AngularJS single-page app.
- ng-context-menu, jQueryUI Datepicker, Spectrum colorpicker, (noty) notifications, marked Markdown parser, and -prefix-free CSS prefix helper.
- Bootstrap for base look and feel.
For the Backend, it is baked from:
- RESTful API written in PHP, using Slim Framework for routing and RedBeanPHP for database ORM. Also uses PHPMailer for sending emails.
- Token-based authentication.
- SQLite database.
Step 1: Install Apache Web Server, PHP & Java
Update your system and install Apache web server with PHP
sudo apt update
sudo apt-get install git apache2 sqlite3 php libapache2-mod-php php-cli php-common php-json php-readline php-sqlite3 libaio1 libapr1 libhtml-template-perl libaprutil1-dbd-sqlite3 libaprutil1-ldap libaprutil1 libdbi-perl libterm-readkey-perl libwrap0
Install Java 8
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer
After installation, you can confirm the version by running:
# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
Step 2: Download and Install TaskBoard
After installing the package dependencies, download TaskBoard
$ cd /srv
$ sudo git clone https://github.com/kiswa/TaskBoard.git
Cloning into 'TaskBoard'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 7931 (delta 6), reused 19 (delta 4), pack-reused 7889
Receiving objects: 100% (7931/7931), 9.80 MiB | 1.51 MiB/s, done.
Resolving deltas: 100% (5397/5397), done.
Install the composer PHP dependency manager
sudo apt install composer
Install the PHP dependencies via composer
cd /srv/TaskBoard
./build/composer.phar self-update
./build/composer.phar install
Optionally build minimized JavaScript and CSS
# ./build/build-all
Building...
Installing dependencies
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
Compiling lib JS files...
Minifying lib CSS files...
Compiling app JS files...
Minifying app CSS files...
Updating index.html...
Build Complete
Set proper permissions on Taskboard web root directory
sudo chown -R www-data:www-data /srv/TaskBoard/
Step 3: Configure Apache Web Server
Create a new Virtual Host for Taskboard.
sudo vim /etc/apache2/sites-enabled/taskBoard.conf
Configure it to look like below:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/srv/TaskBoard"
ServerName taskboard.example.com
ServerAlias www.taskboard.example.com
<Directory "/srv/TaskBoard">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "/var/log/apache2/taskboard-error_log"
CustomLog "/var/log/apache2/taskboard-access_log" combined
</VirtualHost>
Check configuration syntax:
$ sudo apachectl -t
Syntax OK
Enable both the mod_rewrite
andmod_expires
modules.
sudo a2enmod rewrite expires
Restart Apache for the changes to be effected.
sudo systemctl restart apache2
Finish the installation by opening the URL http://board.example.com
on your web browser.
The default logins are:
Username: admin
Password: admin
Log in using admin as both username and password. you can later change the admin password on the Settings
page.
Enjoy your new better way of managing tasks with Taskboard.