2025-03-02 09:51:41 -08:00
2025-03-01 20:32:31 -08:00
2025-01-24 16:08:02 -06:00
2025-02-09 15:47:31 -08:00
2025-03-02 09:51:41 -08:00
2025-02-09 15:47:31 -08:00
2025-01-24 16:08:02 -06:00

DumbKan - Simple Kanban Board

A lightweight, mobile-friendly Kanban board application for managing tasks and projects. Built with vanilla JavaScript and Node.js.

Features

🎯 Task Management

  • Create, edit, and delete tasks easily
  • Double-click (desktop) or double-tap (mobile) to edit tasks
  • Drag and drop tasks between columns
  • Smooth animations and visual feedback during interactions

📱 Mobile-Optimized

  • Responsive design that works on all devices
  • Touch-friendly interface
  • Double-tap to edit tasks on mobile
  • Easy task movement with touch gestures

📋 Board Management

  • Multiple boards support (Work, Personal, etc.)
  • Create and delete boards
  • Switch between boards instantly
  • Persistent board state

📊 Column Management

  • Add new columns for custom workflows
  • Edit column names inline
  • Remove columns with confirmation
  • Drag tasks between columns

🎨 Theme Support

  • Light and dark mode
  • System theme detection
  • Smooth theme transitions
  • Theme persistence across sessions

💾 Data Persistence

  • Automatic saving of changes
  • Persistent across page refreshes
  • JSON-based storage
  • No database required

Environment Variables

Variable Description Default Required
PORT Port for the server to listen on 3000 No
DUMBKAN_PIN PIN code required to access the application None No
DUMB_SECRET Secret key for API authorization via X-API-Key header None No
SITE_TITLE Title displayed in the header and browser tab DumbKan No
BASE_URL Base URL path for the application (e.g., '/app') - No

PIN Protection

When DUMBKAN_PIN is set, the app requires PIN verification before accessing or modifying boards. The PIN must be 4-10 digits long.

Data Persistence

Task data is stored in /app/dumbdata/tasks.json. When using Docker, mount this directory as a volume to persist data between container restarts.

Data Migration

This version contains significant changes to the data structure. If you're upgrading from an earlier version:

  • The application will automatically detect old data files in legacy locations (e.g., /app/data/tasks.json)
  • Data will be automatically migrated to the new structure and stored in /app/dumbdata/tasks.json
  • A backup of your old data will be created at the original location with a timestamp
  • No manual steps are required for this migration

Data Structure Changes

  • The data model has been normalized with separate collections for boards, sections, and tasks
  • Columns are now called "sections" and have unique IDs
  • Tasks have more metadata: priority, status, due dates, etc.
  • This new structure improves performance and enables future features

Getting Started

Option 1: Docker (For Dummies)

Pull and run with one command:

docker run -d -p 3000:3000 -v $(pwd)/data:/app/dumbdata --name dumbkan dumbwareio/dumbkan:latest
  1. Go to http://localhost:3000
  2. Create your first board and tasks
  3. Marvel at how dumb easy this was

Option 2: Docker Compose (For Dummies who like customizing)

Create a docker-compose.yml file:

services:
  dumbkan:
    image: dumbwareio/dumbkan:latest
    container_name: dumbkan
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      # Where your tasks data will be stored
      - ./data:/app/dumbdata
    environment:
      # The title shown in the web interface
      SITE_TITLE: DumbKan
      # Optional PIN protection (leave empty to disable)
      DUMBKAN_PIN: 
      # The base URL for the application
      BASE_URL: http://localhost:3000

Then run:

docker compose up -d
  1. Go to http://localhost:3000
  2. Create your first board and tasks
  3. Rejoice in the glory of your dumb organization

Option 3: Local Installation (For Developers)

  1. Clone the repository:

    git clone https://github.com/dumbwareio/dumbkan.git
    cd dumbkan
    
  2. Install dependencies:

    npm install
    
  3. Set environment variables in .env:

    PORT=3000                  # Port to run the server on
    DUMBKAN_PIN=               # Optional PIN protection
    SITE_TITLE=DumbKan        # Custom site title
    BASE_URL=http://localhost:3000  # Base URL for the application
    
  4. Start the server:

    npm start
    
  5. Go to http://localhost:3000 and enjoy your locally hosted DumbKan!

Windows Users

If you're using Windows PowerShell with Docker, use this format for paths:

docker run -d -p 3000:3000 -v "${PWD}\data:/app/dumbdata" dumbwareio/dumbkan:latest

Usage Guide

Managing Tasks

  • Click the + button in a column to create a new task
  • Click the info icon in a task to edit details
  • Drag and drop tasks between columns
  • Delete tasks by clicking the title, then the red x

Customizing Columns

  • Click the + button on the right to create a new column
  • Click a column name to edit it
  • Delete by clicking the title, then the red x

Technical Details

  • Built with vanilla JavaScript - no frameworks
  • Node.js backend with Express
  • File-based JSON storage
  • Responsive CSS with modern features
  • Mobile-first design approach

Contributing

Feel free to submit issues and enhancement requests!

Description
A Dumb Kanban
Readme GPL-3.0 2.4 MiB
Languages
JavaScript 90.8%
CSS 6.8%
HTML 2.3%
Dockerfile 0.1%