{"id":33311609,"url":"https://github.com/d-luca/task_board","last_synced_at":"2026-04-16T10:33:52.885Z","repository":{"id":323915293,"uuid":"1091207345","full_name":"d-luca/task_board","owner":"d-luca","description":"A modern desktop task board manager with Kanban interface, multi-project support, and embedded MongoDB. Built with Electron, React, TypeScript, and shadcn/ui. Zero configuration required - MongoDB auto-starts with the app.","archived":false,"fork":false,"pushed_at":"2025-11-12T19:10:46.000Z","size":379,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-12T21:10:14.486Z","etag":null,"topics":["electron","kanban","mongodb","react","task-management","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d-luca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-06T17:44:21.000Z","updated_at":"2025-11-12T19:10:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/d-luca/task_board","commit_stats":null,"previous_names":["d-luca/task_board"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/d-luca/task_board","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-luca%2Ftask_board","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-luca%2Ftask_board/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-luca%2Ftask_board/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-luca%2Ftask_board/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-luca","download_url":"https://codeload.github.com/d-luca/task_board/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-luca%2Ftask_board/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285187921,"owners_count":27129352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","kanban","mongodb","react","task-management","typescript"],"created_at":"2025-11-19T05:01:19.563Z","updated_at":"2025-11-19T05:04:22.132Z","avatar_url":"https://github.com/d-luca.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multi-Project Task Board Manager\n\n\u003cdiv align=\"center\"\u003e\n\nA 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.\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n\u003c/div\u003e\n\n## ✨ Features\n\n- 🎯 **Multi-Project Support**: Manage multiple task boards, each representing a different project\n- 📋 **Kanban Board**: Visual drag-and-drop interface with To Do, In Progress, and Done columns\n- 🎨 **Modern UI**: Beautiful, accessible components using shadcn/ui and Tailwind CSS\n- 🗄️ **Persistent Storage**: MongoDB database for reliable data persistence with auto-startup\n- ⚡ **Fast \u0026 Responsive**: Built with Vite for lightning-fast development and builds\n- 🔒 **Type-Safe**: Full TypeScript support throughout the stack\n- 🖥️ **Cross-Platform**: Native desktop app for Windows, macOS, and Linux\n- 🎯 **Task Management**: Priority levels, due dates, labels, and checklists\n- 🔄 **Zero Configuration**: MongoDB automatically starts with the app - no setup required\n- 📱 **System Tray Integration**: Run in background with quick access from system tray\n- 💾 **Easy Import/Export**: Backup and restore your data easily\n\n\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Node.js** v18 or higher\n- **pnpm** (install with: `npm install -g pnpm`)\n- **Docker** (for development only - [Install Docker](https://docs.docker.com/get-docker/))\n\n\u003e **Note**: MongoDB is **automatically managed** by the app:\n\u003e - **Development**: Uses Docker (auto-starts when you run `pnpm dev`)\n\u003e - **Production**: Embedded MongoDB included in the app (no external dependencies)\n\u003e - **First Run**: May take 2-5 minutes to download MongoDB binaries (~50-100 MB)\n\u003e - **Subsequent Runs**: Starts instantly using cached binaries\n\u003e\n\u003e See [MongoDB Setup Guide](./docs/MONGODB_SETUP.md) for detailed information.\n\n### Installation\n\n```bash\n# Clone the repository\ncd /your/path/here\n\n# Install dependencies\npnpm install\n\n\n### Development\n\n```bash\n# Start the development server (MongoDB auto-starts via Docker)\npnpm dev\n\n# Or manually manage MongoDB:\npnpm mongo:start   # Start MongoDB\npnpm mongo:stop    # Stop MongoDB\npnpm mongo:logs    # View MongoDB logs\n```\n\nThe app will open in a new window with hot reload enabled.\n\n### Build\n\n```bash\n# Build for production\npnpm build\n\n# Package for Windows\npnpm build:win\n\n# Package for macOS\npnpm build:mac\n\n# Package for Linux\npnpm build:linux\n```\n\n### First Launch (Production Build)\n\nWhen you run the built application for the first time:\n\n1. **Loading Screen Appears**: You'll see a loading screen with progress messages\n2. **Binary Download**: MongoDB binaries (~50-100 MB) will be downloaded automatically\n   - This takes 2-5 minutes depending on your internet speed\n   - Progress messages keep you informed of what's happening\n3. **Automatic Startup**: Once download completes, the app starts automatically\n4. **Subsequent Launches**: Take only 2-5 seconds using cached binaries\n\n\u003e **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.\n\n## 🏗️ Technology Stack\n\n### Frontend\n\n- **React 18+** - Modern UI library with hooks\n- **TypeScript** - Type-safe development\n- **Tailwind CSS** - Utility-first CSS framework\n- **shadcn/ui** - Accessible component library\n- **@dnd-kit** - Drag and drop functionality\n- **Zustand** - Lightweight state management\n- **React Hook Form + Zod** - Form validation\n\n### Desktop Framework\n\n- **Electron** - Cross-platform desktop framework\n- **Electron Builder** - Packaging and distribution\n\n### Backend \u0026 Database\n\n- **MongoDB** - Document database\n- **Mongoose** - MongoDB ODM\n- **Node.js** - JavaScript runtime\n\n### Development Tools\n\n- **Vite** - Fast build tool\n- **pnpm** - Efficient package manager\n- **ESLint** - Code linting\n- **Prettier** - Code formatting\n\n## 📁 Project Structure\n\n```\ntask_board/\n├── src/\n│   ├── main/                    # Electron main process\n│   │   ├── index.ts\n│   │   ├── database/            # MongoDB models and services\n│   │   └── ipc/                 # IPC handlers\n│   ├── preload/                 # Preload scripts\n│   │   └── index.ts             # IPC bridge\n│   └── renderer/                # React frontend\n│       ├── src/\n│       │   ├── components/      # React components\n│       │   │   ├── ui/          # shadcn/ui components\n│       │   │   ├── layout/      # Layout components\n│       │   │   ├── project/     # Project components\n│       │   │   └── task/        # Task components\n│       │   ├── hooks/           # Custom React hooks\n│       │   ├── store/           # Zustand stores\n│       │   ├── types/           # TypeScript types\n│       │   └── lib/             # Utilities\n│       └── index.html\n├── package.json\n├── electron.vite.config.ts\n├── tailwind.config.js\n└── components.json              # shadcn/ui config\n```\n\n## 🎯 Key Features Details\n\n### Multi-Project Management\n\n- Create and manage multiple independent task boards\n- Quick project switching with keyboard shortcuts\n- Project customization (colors, icons, settings)\n- Archive completed projects\n\n### Task Board\n\n- Kanban-style board with drag-and-drop\n### Desktop Integration\n\n- **System tray integration**: Minimize to tray, quick access to common actions\n- **Native notifications**: Desktop notifications for important events\n- **Keyboard shortcuts**:\n  - `Ctrl/Cmd + N` - New Task\n  - `Ctrl/Cmd + Shift + N` - New Project\n  - `Ctrl/Cmd + E` - Export Data\n  - `Ctrl/Cmd + I` - Import Data\n  - `Ctrl/Cmd + Shift + T` - Toggle window visibility\n- **Window state persistence**: Remember size, position, and maximized state\n- **Cross-platform support**: Consistent experience on Windows, macOS, and Linux\n- **Comprehensive logging**: Access logs via Help → Open Log File for troubleshooting descriptions\n\n### Desktop Integration\n\n## 🛠️ Development\n\n### Recommended IDE Setup\n\n- [VS Code](https://code.visualstudio.com/)\n- Extensions:\n  - ESLint\n  - Prettier\n  - Tailwind CSS IntelliSense\n  - TypeScript Hero\n  - ES7+ React/Redux/React-Native snippets\n\n### Available Commands\n\n```bash\n# Development\npnpm dev              # Start development server (auto-starts MongoDB)\npnpm start            # Start built app in preview mode\n\n# Building\npnpm build            # Build for production\npnpm build:win        # Build Windows installer\npnpm build:mac        # Build macOS installer\npnpm build:linux      # Build Linux installer\n\n# MongoDB Management (Development)\npnpm mongo:start      # Start Docker MongoDB manually\npnpm mongo:stop       # Stop Docker MongoDB\npnpm mongo:logs       # View MongoDB logs\n\n# Code Quality\npnpm typecheck        # Type checking\npnpm lint             # Run ESLint\npnpm format           # Format code with Prettier\n```bash\npnpm dev              # Start development server\npnpm build            # Build for production\npnpm typecheck        # Type checking\npnpm lint             # Run ESLint\npnpm format           # Format code with Prettier\n```\n\n### Development Workflow\n## 🐛 Troubleshooting\n\n### App Won't Open After Installation\n\n1. Check the log file: Help → Open Log File (or `%APPDATA%\\taskboard\\logs\\`)\n2. Ensure you have a stable internet connection (first run downloads MongoDB binaries)\n3. Wait up to 5 minutes on first launch for MongoDB setup\n4. Try running as administrator if permission errors occur\n\n### MongoDB Connection Issues\n\n- **Development**: Ensure Docker is running (`docker ps` should show `dt_mongo`)\n- **Production**: Check logs for detailed error messages\n- **Network**: If behind a proxy, MongoDB download may fail\n\n### Loading Screen Stuck\n\n- If stuck for more than 5 minutes, close and restart the app\n- Check internet connection\n- Review logs for timeout or network errors\n- Try deleting `%APPDATA%\\taskboard\\mongodb-binaries` and restarting\n\n## 🙏 Acknowledgments\n\n- Built with [Electron](https://www.electronjs.org/)\n- UI components from [Radix UI](https://www.radix-ui.com/) \u0026 [shadcn/ui](https://ui.shadcn.com)\n- Styled with [Tailwind CSS](https://tailwindcss.com/)\n- DB used [MongoDB](https://docs.mongodb.com)\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-luca%2Ftask_board","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-luca%2Ftask_board","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-luca%2Ftask_board/lists"}