Electron wrapper for the Taskify task management application.
# Install dependencies
npm install
# Start all services (frontend, backend, electron)
npm run dev:all
# Or start electron only (requires frontend/backend running separately)
npm run dev# Build and package for current platform
npm run build
npm run pack
# Create distributable for specific platforms
npm run dist:mac # macOS
npm run dist:win # Windows
npm run dist:linux # LinuxThis Electron app bundles your existing React frontend and Express backend into a single desktop application:
- Frontend: React app served from built files
- Backend: Express server running locally in Electron
- Database: SQLite stored in user data directory
npm run dev- Start Electron in development modenpm run dev:all- Start frontend, backend, and Electron togethernpm run build- Build frontend and backend for packagingnpm run pack- Package app for current platform (no installer)npm run dist- Create installer/distributor for current platformnpm run clean- Remove build and dist directories
electron/
├── main.js # Electron main process
├── preload.js # Secure IPC bridge
├── scripts/
│ ├── build.js # Build automation
│ └── dev.js # Development server
├── build/ # Built frontend/backend (generated)
└── dist/ # Packaged applications (generated)
In production, SQLite database is stored in:
- macOS:
~/Library/Application Support/taskify-desktop/taskify.sqlite - Windows:
%APPDATA%/taskify-desktop/taskify.sqlite - Linux:
~/.config/taskify-desktop/taskify.sqlite
The build process:
- Builds React frontend (
frontend/dist) - Copies backend files and dependencies
- Creates production environment configuration
- Packages everything with Electron Builder
Key environment variables for production:
NODE_ENV=productionDB_TYPE=sqliteJWT_SECRET(automatically generated for builds)PORT=3001(internal backend port)
- macOS: Universal binary (Intel + Apple Silicon)
- Windows: x64 installer
- Linux: AppImage format