A minimalist desktop task management application built with Electron, designed for simplicity and efficiency.
Zenith is a straightforward task planner that strips away complexity to focus on what matters - managing your daily tasks. Built with simplicity at its core, it provides a clean calendar interface for organizing tasks without the overhead of complicated project management features.
Monthly calendar with color-coded tasks and visual progress indicators
Comprehensive task list grouped by dates with priority and time indicators
- Calendar View: Visual monthly calendar for daily task organization
- Task Management: Create, edit, delete, and complete tasks with a single click
- Drag & Drop: Intuitive task rescheduling by dragging between dates
- Task Pool: Unscheduled tasks storage for future planning
- Priority System: Three-level priority system (High, Medium, Low)
- Custom Color System: Visual task organization with customizable colors
- Time Estimation: Optional task duration estimates (30 min to 8 hours)
- Deadline Management: Set time-based deadlines for tasks with visual alerts
- Progress Analytics: Comprehensive statistics and charts for productivity tracking
- Mark All Complete: One-click completion for all daily tasks
- Clean Dark Theme: Professional dark interface optimized for extended use
- Smart Calendar Colors:
- Grey gradient for future dates
- Blue gradient for today
- Green gradient for past dates with all tasks completed
- Red gradient for past dates with incomplete tasks or expired deadlines
- Custom Time Picker: Elegant time selection interface matching the dark theme
- Real-time Updates: Instant UI updates without page refreshes
- Custom Confirmation Dialogs: Windows-optimized modals to prevent focus issues
- Visual Task Indicators: Color dots and priority badges for quick task identification
- Responsive Day Panel: Side panel with organized task view by color groups
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Backend: Express.js server
- Database: SQLite (lightweight, file-based)
- Desktop Framework: Electron
- Charts: Chart.js for analytics visualization
simple_planner/
├── main.js # Electron main process
├── app.js # Frontend application logic
├── index.html # Main application UI
├── styles.css # Application styling
├── database.js # SQLite database operations
├── server.js # Express API server
├── analytics.html # Analytics dashboard
├── analytics.js # Analytics logic
└── package.json # Dependencies and scripts
Single tasks table with straightforward structure:
id: Primary keytitle: Task namedescription: Task details (optional)date: Scheduled date (YYYY-MM-DD)completed: Completion statustime_hours: Estimated duration (optional, default 0)priority: High/Medium/Low (default Medium)category: Color hex code for visual organizationdeadline: Task deadline time (optional)position: Task order within a daycreated_at: Creation timestampcompleted_at: Completion timestamp
Simple RESTful API:
GET /api/tasks- Retrieve all tasksPOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete taskGET /api/tasks/stats- Get task statistics
- Node.js (v14 or higher)
- npm or yarn package manager
# Clone the repository
git clone https://github.com/sardanioss/zenith.git
cd zenith
# Install dependencies
npm install
# Start the application
npm start
Click any calendar date to instantly add a task for that day
- Click the "+" button in the Tasks Pool for unscheduled tasks
- Click any date on the calendar to add a task for that specific day
- Fill in task details:
- Title (required)
- Estimated duration (optional)
- Deadline time (optional - same day)
- Description (optional)
- Color category (6 color options)
- Priority level (High/Medium/Low)
Drag tasks from the pool to any calendar date for instant scheduling
- Complete: Click the checkbox to mark done (turns green)
- Mark All Complete: Click button at bottom of day panel to complete all tasks at once
- Edit: Click on a task to modify its details
- Delete: Click the × button with custom confirmation dialog
- Reschedule: Drag tasks from the pool to calendar dates or between dates
- Task Duration: Set estimated time for planning purposes
- Deadlines: Set specific times for task completion
- Visual Alerts: Tasks with expired deadlines turn the calendar day red
- Time Display: Shows remaining time or deadline status on task cards
Navigate to the Analytics page from the sidebar to view:
- Task completion rates
- Time tracking statistics
- Priority distribution
- Category breakdown
- Weekly/monthly trends
Zenith was built with the principle that task management should be simple. We intentionally avoided:
- Complex project hierarchies
- Team collaboration features
- Unnecessary integrations
- Feature bloat
Instead, we focused on:
- Speed: Quick task entry and management
- Clarity: Clear visual representation of your schedule
- Reliability: Stable, bug-free operation
- Simplicity: Intuitive interface that doesn't require a manual
npm run devnpm run buildThis creates a standalone .exe installer in the dist folder that can be distributed without requiring Node.js installation.
- Development: Database stored as
planner.dbin project directory - Production: Database stored in user's AppData folder
- Backup: Copy the
.dbfile to preserve your tasks
- Custom Time Picker: Replaced native HTML time input with elegant dark-themed picker
- Improved Dropdowns: Custom-styled select elements with single arrow indicator
- Better Visual Feedback: Green checkboxes, gradient calendar tiles, color-coded priorities
- Simplified Categories: Removed text labels, using only color indicators for cleaner look
- Windows Focus Issue: Resolved Electron input focus bug with custom confirmation dialogs
- Database Path: Fixed executable database path for packaged applications
- UI State Updates: Improved real-time updates for task completion and deletion
- Drag & Drop: Enhanced reliability of task dragging between dates
- Lightweight SQLite: Fast database operations with minimal overhead
- Optimized Rendering: Efficient DOM updates for smooth interactions
- Quick Startup: Minimal dependencies and streamlined initialization
- Native Module Support: Properly rebuilt SQLite for Electron compatibility
This project values simplicity. When contributing:
- Maintain the minimalist approach
- Avoid adding unnecessary dependencies
- Keep the codebase readable and straightforward
- Test thoroughly on Windows, macOS, and Linux
MIT License - feel free to use and modify for your needs.
For issues or questions, please open an issue on the GitHub repository.
Built for those who believe task management should be simple, not complicated.
