# Planka
  
A Trello-like kanban board built with React and Redux.

**Client demo** (without server features).
## Features
- Create projects, boards, lists, cards, labels and tasks
- Add card members, track time, set a due date, add attachments, write comments
- Markdown support in a card description and comment
- Filter by members and labels
- Customize project background
- Real-time updates
- User notifications
- Internationalization
## Deploy
**Please note that Planka is NOT released yet, API and database structure may be changed!**
### Docker Compose
- Make sure you have Docker and Docker Compose installed and operational.
- Create `docker-compose.yml` based on the example. This is the ONLY file you will need. You can create this file on your own machine by copy and pasting the content.
- Edit `BASE_URL` to match your domain name or IP address.
- Edit `SECRET_KEY` with random value. You can generate it by `openssl rand -hex 64`.
Download the docker-compose.yml:
```
curl -L https://raw.githubusercontent.com/plankanban/planka/master/docker-compose.yml -o docker-compose.yml
```
Pull images and start services:
```
docker-compose up -d
```
Demo user: demo@demo.demo demo
## Development
Clone the repository and install dependencies:
```
git clone https://github.com/plankanban/planka.git
cd planka
npm install
```
Either use a local database or start the provided development database:
```
docker-compose -f docker-compose-dev.yml up
```
Edit `DATABASE_URL` in `.env` file if needed, then initialize the database:
```
npm run server:db:init
```
Start the development server:
```
npm start
```
Demo user: demo@demo.demo demo
## Tech stack
- React, Redux, Redux-Saga, Redux-ORM, Semantic UI React, react-beautiful-dnd
- Sails.js, Knex.js
- PostgreSQL
## Roadmap
- [x] File attachments
- [ ] Member permissions
- [ ] Fetch last data after reconnection
- [ ] Custom fields
- [ ] Public boards
- [ ] Automatic actions
## License
Planka is MIT licensed.