A modern, minimalist desktop todo list application built with Electron. Features a dark theme, calendar integration, task categories, priority levels, and notifications.
- Quick Add: Type and press Enter to quickly add tasks
- Advanced Add: Detailed task creation with description, date, time, priority, and file attachments
- Task Management: Mark tasks as complete, edit, or delete them
- Categories: Organize tasks into custom categories with color coding
- Priority Levels: Assign high, medium, low, or no priority to tasks
- Date & Time: Schedule tasks with specific dates and times
- Calendar View: Visual calendar grid showing tasks by date
- List View: Grouped list view showing tasks organized by date
- Date Restrictions: Only allow adding tasks for today or future dates
- Visual Indicators: Color-coded task dots based on priority or category
- Smart Notifications: Receive notifications for:
- 1 week before task due date
- 1 day before task due date
- On the day of the task
- 1 minute before scheduled time
- Exact time animation when task time arrives
- Dark Minimalist Theme: Clean, modern dark interface
- Responsive Sidebar: Collapsible details sidebar with drag-to-resize
- Smooth Animations: Subtle, classy animations throughout
- Hover Interactions: Edit and delete buttons appear on hover
- Task Progress: Visual progress counter showing completed/total tasks
- Particle Effects: Celebration animations when tasks are completed
- Detailed View: Click on detailed tasks to view full information
- File Attachments: Attach images or files to tasks
- Task Descriptions: Add detailed descriptions to tasks
- Priority Display: Visual priority indicators with colored dots
- Node.js (v14 or higher)
- npm or yarn
- Clone or download the project
- Install dependencies:
npm install- Run the application:
npm startTo create a distributable version:
npm run buildThis will create platform-specific builds in the dist folder.
Quick Add:
- Type your task in the input field at the bottom
- Press Enter or click the arrow button (→)
Advanced Add:
- Click the gear icon (⚙) next to the input field
- Fill in task details:
- Title (required)
- Description (optional)
- Date and time (optional, must be today or future)
- Priority level
- File attachment (optional)
- Click "save"
- Complete Task: Click the checkbox next to a task
- View Details: Click on the task title (for detailed tasks)
- Edit Task: Hover over a task and click the edit icon (✎)
- Delete Task: Hover over a task and click the delete icon (×)
- Create Category: Click "+ new category" in the sidebar
- Select Category: Click on a category to filter tasks
- Delete Category: Hover over a category and click the × button
- Switch to Calendar: Click "calendar" in the header
- Navigate Months: Use the arrow buttons (‹ ›) to move between months
- Add Task to Date: Click on any date in the calendar
- Toggle View: Click the calendar icon to switch between grid and list view
- View Details: Click on a detailed task title
- Resize Sidebar: Drag the left edge of the sidebar to resize
- Collapse Sidebar: Click the collapse button (›) in the sidebar header
- Edit from Sidebar: Click the edit icon in the sidebar header
DesktopTodoListApp/
├── main.js # Electron main process
├── preload.js # Preload script for secure IPC
├── renderer.js # Renderer process (UI logic)
├── index.html # Application HTML structure
├── styles.css # Application styles
├── package.json # Project configuration
├── data/ # Data storage directory
│ ├── tasks.json # Tasks and categories data
│ └── uploads/ # Uploaded files
└── README.md # This file
- Electron: Desktop application framework
- JavaScript: Core application logic
- HTML/CSS: User interface
- Node.js: File system operations and notifications
All data is stored locally in JSON format:
- Tasks:
data/tasks.json - Uploaded Files:
data/uploads/
The application automatically creates these directories if they don't exist.
The app checks for upcoming tasks every minute and sends system notifications for:
- Tasks due in 1 week
- Tasks due in 1 day
- Tasks due today
- Tasks due in 1 minute
- Tasks at exact scheduled time (triggers visual animation)
- Task Completion: Particle effect when marking tasks complete
- Strikethrough: Animated line through completed tasks
- All Tasks Complete: Celebration animation on progress counter
- Task Active: Gradient border animation when task time arrives
- Smooth Transitions: Subtle animations throughout the interface
- Only today and future dates can be selected
- Past dates in calendar are visually disabled
- Past dates are automatically corrected to today if entered
- Enter: Quick add task (when input is focused)
This project is open source and available for personal use.
- All text in the application is lowercase for a minimalist aesthetic
- The app uses a dark theme optimized for extended use
- Task data persists between sessions automatically
- File uploads are stored locally in the
data/uploadsdirectory