Cross-Platform Task Management with Role-Based Access Control
Electron app delivering drag-and-drop task boards, granular RBAC, audit logging, and packaged installers for Windows and macOS.
A desktop task management system with fine-grained role-based access control, drag-and-drop board organization, comprehensive audit logging, and production-ready installers for Windows and macOS.
- Electron 28
- React 18
- Vite
- TypeScript
- Express
- SQLite3
- Tailwind CSS
- React Router
- React Icons
- electron-builder
- bcryptjs
- jsonwebtoken
Built as a monorepo with a React frontend (Vite), Express backend (SQLite), and Electron app shell, this system manages tasks across organizations with three built-in roles (Owner, Admin, Viewer) plus support for custom roles. Users authenticate via email/password with JWT tokens, and all state changes flow through an audit log that tracks who did what, when, and how.
The UI uses Tailwind CSS and React Icons to deliver a kanban-style board where tasks move between todo/in_progress/done columns via drag-and-drop. Behind the scenes, RBAC controls which categories each role can access, whether personal tasks stay private, and permission gates for creation, updates, deletion, and audit viewing. The backend enforces permissions at route level, preventing unauthorized access even if the frontend were bypassed.
The app packages to native installers (NSIS for Windows, DMG for macOS supporting both Intel and Apple Silicon) via electron-builder. Development runs both React and Electron in parallel with concurrently, while production builds include the backend and assets baked into the app bundle. A splash screen greets returning users by name, and the app auto-detects theme preference.
- Drag-and-drop kanban board with three-column status layout (todo, in_progress, done) and dynamic category filtering.
- Fine-grained RBAC with built-in role hierarchy (Owner > Admin > Viewer), granular category access controls, and support for custom roles via database overrides.
- Comprehensive audit logging tracking task creation, updates, deletions, and category/role changes with before/after snapshots and actor identity.
- Monorepo structure separating renderer (React/Vite), backend (Express/SQLite), Electron app shell, and shared types for maintainability.
- Native Windows (NSIS) and macOS (DMG universal + Intel) installers with session persistence, splash screen, and theme detection.