summaryrefslogtreecommitdiff
path: root/README.markdown
blob: 96faeca0d1187fd86b4b4a493b611f27000c8c6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
Kanboard
========

Kanboard is a simple visual task board web application.

- Inspired by the [Kanban methodology](http://en.wikipedia.org/wiki/Kanban)
- Get a visual and clear overview of your project
- Multiple boards with the ability to drag and drop tasks
- Minimalist software, focus only on essential features (Less is more)
- Open source and self-hosted
- Super simple installation

Usage examples
--------------

You can customize your boards according to your business activities:

- Software management: Backlog, Ready, Work in Progress, To be tested, Validated
- Bug tracking: Received, Confirmed, Work in progress, Tested, Fixed
- Sales: Prospect, Meeting, Proposal, Sale
- Lean business management: Ideas, Developement, Measure, Analysis, Done
- Recruiting: Candidates Pool, Phone Screens, Job Interviews, Hires
- E-Commerce Shop: Orders, Packaged, Shipped
- Construction Planning: Materials ordered, Materials received, Work in progress, Work done, Invoice sent, Paid

Features
--------

- Multiple boards/projects
- Boards customization, rename or add columns
- Tasks with different colors, Markdown support for the description
- Users management with a basic privileges separation (administrator or regular user)
- Webhooks to create tasks from an external software
- Host anywhere (shared hosting, VPS, Raspberry Pi or localhost)
- No external dependencies
- **Super easy setup**, copy and paste files and you are done!
- Translations in English, French and Polish

Todo
----

- Touch devices support (tablets)
- Task search
- Task limit for each column
- File attachments
- Comments
- API
- Basic reporting
- Tasks export in CSV

Todo and known bugs
-------------------

- See Issues: <https://github.com/fguillot/kanboard/issues>

License
-------

- GNU Affero General Public License version 3: <http://www.gnu.org/licenses/agpl-3.0.txt>

Authors
-------

Original author: [Frédéric Guillot](http://fredericguillot.com/)

Contributors:

- Mathgl67: https://github.com/mathgl67
- Raphaël Doursenaud: https://github.com/rdoursenaud
- Rzeka: https://github.com/rzeka
- Toomyem: https://github.com/toomyem

There is also many people who have reported bugs or proposed awesome ideas.

Requirements
------------

- Apache or Nginx
- PHP >= 5.3.3
- PHP extensions required: mbstring and pdo_sqlite (don't forget to enable extensions)
- A web browser with HTML5 drag and drop support

Installation
------------

From the archive:

1. You must have a web server with PHP installed
2. Download the source code and copy the directory `kanboard` where you want
3. Check if the directory `data` is writeable (Kanboard stores everything inside a Sqlite database)
4. With your browser go to <http://yourpersonalserver/kanboard>
5. The default login and password is **admin/admin**
6. Start to use the software
7. Don't forget to change your password!

From the repository:

1. `git clone https://github.com/fguillot/kanboard.git`
2. Go to the third step just above

Update
------

From the archive:

1. Close your session (logout)
2. Rename your actual Kanboard directory (to keep a backup)
3. Uncompress the new archive and copy your database file `db.sqlite` in the directory `data`
4. Make the directory `data` writeable by the web server user
5. Login and check if everything is ok
6. Remove the old Kanboard directory

From the repository:

1. Close your session (logout)
2. `git pull`
3. Login and check if everything is ok

Security
--------

- Don't forget to change the default user/password
- Don't allow everybody to access to the directory `data` from the URL. There is already a `.htaccess` for Apache but nothing for Nginx.

FAQ
---

### Which web browsers are supported?

Desktop version of Mozilla Firefox, Safari and Google Chrome.

### Why the minimum requirement is PHP 5.3.3 or 5.3.7?

Kanboard use the function `password_hash()` to crypt passwords but it's available only for PHP >= 5.5.
However, there is a backport for [older versions of PHP](https://github.com/ircmaxell/password_compat#requirements).
This library needs to have at least PHP 5.3.7 to work correctly (however on Debian Wheezy, PHP 5.3.3 should be fine).

### How to test Kanboard with Vagrant?

- Install Vagrant (http://www.vagrantup.com or apt-get install vagrant)
- Install VirtualBox (https://www.virtualbox.org/ or apt-get install virtualbox)
- Inside the root directory, run: vagrant up
- Go to http://localhost:8080/index.php
- Login with admin / admin

### How to test Kanboard with the PHP built-in web server?

If you don't want to install a web server like Apache on localhost. You can test with the embedded web server of PHP:

```bash
unzip kanboard-VERSION.zip
cd kanboard
php -S localhost:8000
open http://localhost:8000/
```

### How to install Kanboard on Debian?

```bash
apt-get update
apt-get install -y php5 php5-sqlite
echo 'extension=sqlite.so' >> /etc/php5/conf.d/sqlite.ini
cd /var/www/
wget http://kanboard.net/kanboard-VERSION.zip
unzip kanboard-VERSION.zip
chown -R www-data kanboard/data
```

### How to use the webhook to create a task?

Firstly, you have to get the token from the preferences page. After that, just call this url from anywhere:

```bash
# Create a task for the default project inside the first column
curl "http://myserver/?controller=task&action=add&token=superSecretToken&title=mySuperTask"

# Create a task to another project inside a specific column with the color red
curl "http://myserver/?controller=task&action=add&token=superSecretToken&title=task123&project_id=3&column_id=7&color_id=red"
```

Webhooks are useful to perform actions from external applications (shell-script, git hooks...).