A modern desktop application for managing multiple task boards (projects) with a beautiful kanban-style interface. Built with Electron, React, TypeScript, MongoDB, Tailwind CSS, and shadcn/ui.
- π― Multi-Project Support: Manage multiple task boards, each representing a different project
- π Kanban Board: Visual drag-and-drop interface with To Do, In Progress, and Done columns
- π¨ Modern UI: Beautiful, accessible components using shadcn/ui and Tailwind CSS
- ποΈ Persistent Storage: MongoDB database for reliable data persistence with auto-startup
- β‘ Fast & Responsive: Built with Vite for lightning-fast development and builds
- π Type-Safe: Full TypeScript support throughout the stack
- π₯οΈ Cross-Platform: Native desktop app for Windows, macOS, and Linux
- π― Task Management: Priority levels, due dates, labels, and checklists
- π Zero Configuration: MongoDB automatically starts with the app - no setup required
- π± System Tray Integration: Run in background with quick access from system tray
- πΎ Easy Import/Export: Backup and restore your data easily
- Node.js v18 or higher
- pnpm (install with:
npm install -g pnpm) - Docker (for development only - Install Docker)
Note: MongoDB is automatically managed by the app:
- Development: Uses Docker (auto-starts when you run
pnpm dev)- Production: Embedded MongoDB included in the app (no external dependencies)
- First Run: May take 2-5 minutes to download MongoDB binaries (~50-100 MB)
- Subsequent Runs: Starts instantly using cached binaries
See MongoDB Setup Guide for detailed information.
# Clone the repository
cd /your/path/here
# Install dependencies
pnpm install
### Development
```bash
# Start the development server (MongoDB auto-starts via Docker)
pnpm dev
# Or manually manage MongoDB:
pnpm mongo:start # Start MongoDB
pnpm mongo:stop # Stop MongoDB
pnpm mongo:logs # View MongoDB logsThe app will open in a new window with hot reload enabled.
# Build for production
pnpm build
# Package for Windows
pnpm build:win
# Package for macOS
pnpm build:mac
# Package for Linux
pnpm build:linuxWhen you run the built application for the first time:
- Loading Screen Appears: You'll see a loading screen with progress messages
- Binary Download: MongoDB binaries (~50-100 MB) will be downloaded automatically
- This takes 2-5 minutes depending on your internet speed
- Progress messages keep you informed of what's happening
- Automatic Startup: Once download completes, the app starts automatically
- Subsequent Launches: Take only 2-5 seconds using cached binaries
Tip: If the loading screen shows a warning after 2 minutes, check your internet connection. The app will timeout after 5 minutes if download fails.
- React 18+ - Modern UI library with hooks
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Accessible component library
- @dnd-kit - Drag and drop functionality
- Zustand - Lightweight state management
- React Hook Form + Zod - Form validation
- Electron - Cross-platform desktop framework
- Electron Builder - Packaging and distribution
- MongoDB - Document database
- Mongoose - MongoDB ODM
- Node.js - JavaScript runtime
- Vite - Fast build tool
- pnpm - Efficient package manager
- ESLint - Code linting
- Prettier - Code formatting
task_board/
βββ src/
β βββ main/ # Electron main process
β β βββ index.ts
β β βββ database/ # MongoDB models and services
β β βββ ipc/ # IPC handlers
β βββ preload/ # Preload scripts
β β βββ index.ts # IPC bridge
β βββ renderer/ # React frontend
β βββ src/
β β βββ components/ # React components
β β β βββ ui/ # shadcn/ui components
β β β βββ layout/ # Layout components
β β β βββ project/ # Project components
β β β βββ task/ # Task components
β β βββ hooks/ # Custom React hooks
β β βββ store/ # Zustand stores
β β βββ types/ # TypeScript types
β β βββ lib/ # Utilities
β βββ index.html
βββ package.json
βββ electron.vite.config.ts
βββ tailwind.config.js
βββ components.json # shadcn/ui config
- Create and manage multiple independent task boards
- Quick project switching with keyboard shortcuts
- Project customization (colors, icons, settings)
- Archive completed projects
- Kanban-style board with drag-and-drop
- System tray integration: Minimize to tray, quick access to common actions
- Native notifications: Desktop notifications for important events
- Keyboard shortcuts:
Ctrl/Cmd + N- New TaskCtrl/Cmd + Shift + N- New ProjectCtrl/Cmd + E- Export DataCtrl/Cmd + I- Import DataCtrl/Cmd + Shift + T- Toggle window visibility
- Window state persistence: Remember size, position, and maximized state
- Cross-platform support: Consistent experience on Windows, macOS, and Linux
- Comprehensive logging: Access logs via Help β Open Log File for troubleshooting descriptions
- VS Code
- Extensions:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- TypeScript Hero
- ES7+ React/Redux/React-Native snippets
# Development
pnpm dev # Start development server (auto-starts MongoDB)
pnpm start # Start built app in preview mode
# Building
pnpm build # Build for production
pnpm build:win # Build Windows installer
pnpm build:mac # Build macOS installer
pnpm build:linux # Build Linux installer
# MongoDB Management (Development)
pnpm mongo:start # Start Docker MongoDB manually
pnpm mongo:stop # Stop Docker MongoDB
pnpm mongo:logs # View MongoDB logs
# Code Quality
pnpm typecheck # Type checking
pnpm lint # Run ESLint
pnpm format # Format code with Prettier
```bash
pnpm dev # Start development server
pnpm build # Build for production
pnpm typecheck # Type checking
pnpm lint # Run ESLint
pnpm format # Format code with Prettier- Check the log file: Help β Open Log File (or
%APPDATA%\taskboard\logs\) - Ensure you have a stable internet connection (first run downloads MongoDB binaries)
- Wait up to 5 minutes on first launch for MongoDB setup
- Try running as administrator if permission errors occur
- Development: Ensure Docker is running (
docker psshould showdt_mongo) - Production: Check logs for detailed error messages
- Network: If behind a proxy, MongoDB download may fail
- If stuck for more than 5 minutes, close and restart the app
- Check internet connection
- Review logs for timeout or network errors
- Try deleting
%APPDATA%\taskboard\mongodb-binariesand restarting
- Built with Electron
- UI components from Radix UI & shadcn/ui
- Styled with Tailwind CSS
- DB used MongoDB
This project is licensed under the MIT License - see the LICENSE file for details.