KANBAN BOARD

logo

Kanban Board

Introduction

Kanban is a platform that allows us to create a typical kanban board. You can add cards to a column. Consider this your traditional todo list board.

Table of Contents

  1. Requirements
  2. Features
  3. Installation
  4. Usage
  5. Change log
  6. Testing
  7. Contributing
  8. References
  9. Security
  10. Credits
  11. License

Requirements

Make sure your server meets the following requirements.

  • Apache 2.2+ or nginx
  • MySQL Server 5.7.8+ , Mariadb 10.3.2+ or PostgreSQL
  • Composer installed
  • PHP Version 8.0+
  • Node v16.17.0 / NPM 8.15.0

PHP extensions

Make sure you have the following php extensions enabled

bz2, curl, date, dom, exif, gettext, intl, json, libxml, mbstring, fileinfo, mysqli, openss, PDO, pdo_mysql, posix, soap, sqlite3, xml, xmlreader, xmlwriter xsl, zip, zlib

Tech Stack

This application is built using (php, Laravel 9, Vue2, tailwindcss) Please be sure to google about this stack in order to better understand. Also, as side note, we use other tools for smooth integration such as

spatie-db-dumper, vue-js-modal, vue-draggable. The links are available in the References section below

Features

It packs in lots of demanding features that allows this project to scale in no time:

  • Auth & Main Pages
  • Kanban Board
  • Add and Delete columns
  • Delete Columns
  • Access cards via access token
  • Preserve Board state (remember where board was lastly saved)
  • Save card to column when dragged & dropped

Installation

Install composer with the help of the instructions given here

wget https://getcomposer.org/composer.phar
chmod +x composer.phar
mv composer.phar /usr/local/bin/composer  

Install Node.js/NPM with the help of the instructions given here However it is good to use node version manager (nvm) in order to manage and choose the correct node version.

Linux/Unix yum install npm OR using MacOs brew install node

Fork and/or clone this project by running the following command

git clone https://github.com/muarachmann/kanban-board.git

Navigate into the project's directory

cd kanban-board

Copy .env.example for .env and modify according to your credentials

cp .env.example .env

Run this command to install dependencies

composer install --prefer-dist

This command will install all dependencies needed by the Waspito Lab platform to run successfully!

Generate application key

php artisan key:generate

Install npm/yarn dependencies (Preference is using Yarn)

npm install or yarn install 

Database Setup

Create a database first, then migrate and seed the kanban board. database, which has vital information about the functioning of the app.

php artisan migrate:fresh --seed 

Note: This is always clear any information and reseed, use it wisely a better option when modifications are done is to migrate and reseed.

Running Custom Commands

The kanban board comes with several commands which are run to ensure proper functioning of the system for example to generate access tokens to have access to all cards.

A few are cited below, feel free to add more by contributing to this readme.

Command Description
php artisan serve Runs the application on a local port (8000) by default.
php artisan k-board:token Returns a valid access token that can be used to access all cards. See [#Access-cards]

API Access token

If you ish to access all cards in the board. You can do that via an api token. First you will need to create one uisin ghte k-board:token command to get a valid token. NB This token is valid for 2 hours. Once done? use it as shown below:

GET https://kanban-board.test/api/k-board/cards?access_token=<access_token>&date=2023-01-08&status=1

Filters {'status': '0|1', 'date': 'YYYY-MM-DD}

Where status = 0 returns all deleted cards and status = 1 all active cards

Usage

NB: It is advisable to install valet in order to better test functionality If you are on a Linux based OS. Make sure to install its own version valet-linux notice While I haven't tried on a windows machine feel free to explore - https://medium.com/@samimrezgui123/how-to-install-laravel-valet-on-windows-os-afdc23d69719

Once valet is setup, navigate to http://kanban-board.test

Run yarn/npm in dev mode npm run dev OR yarn run dev

Change log

Please see the changelog for more information on what has changed recently.

Testing

// todo

Run the tests using:

composer test  

Contributing

Please see contributing.md for details and a todolist.

References

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email muarachmann@gmail.com instead of using the issue tracker.

Credits

License

MIT. Please see the license file for more information.