Skip to content
almas77abolfazlPublic

About

Minimal, offline-first task management desktop app built with Clean Architecture, Electron, React 19, and TypeScript.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Taskora Logo

Taskora

The minimal, offline-first task companion engineered for deep focus.
A distraction-free productivity application built with Clean Architecture, Electron, React 19, and TypeScript.


Download Installer    Download Portable


Release Download Windows License


CI Workflow Electron React TypeScript Tailwind CSS Vitest Offline First



Application Showcase

Taskora Desktop Preview

Taskora running natively on desktop — Minimalist UI, Smart Lists, Jalali / Gregorian support, and zero clutter.


Downloads

Standalone Windows binaries are available directly via GitHub Releases:

Package Target Description
Taskora Setup 1.0.0 (.exe) Windows x64 Full installer with start menu and desktop shortcuts
Taskora Portable 1.0.0 (.exe) Windows x64 Standalone executable — runs anywhere without installation
All Release Assets & Logs Multi-arch Source code, checksums, and changelog history

Key Features

100% Offline & Local Data Ownership

No mandatory accounts, no cloud dependencies, and zero tracking. All tasks, subtasks, notes, and custom categories reside strictly on your local disk using a crash-safe Atomic Sequential Storage Engine (AtomicFileStorage).

Bilingual & Dual Calendar Engine

Instant one-click toggle between English (LTR) and فارسی (RTL). Features tailored typography (IRANYekanRegular / Vazirmatn) and native dual-calendar support for Solar Hijri (Jalali) and Gregorian dates.

Minimalist Design & Visual Clarity

Thoughtfully designed for calm and focus. Built with crisp vector Lucide SVG iconography, balanced spacing, curated color accents, and responsive micro-interactions without visual bloat.

Hardened Desktop Security

Built in strict adherence to Electron security standards: contextIsolation: true, nodeIntegration: false. The renderer communicates exclusively via strongly-typed, sanitized IPC contracts over contextBridge.

Keyboard-First Workflow

Quick-add tasks with Ctrl + N, search titles and notes with Ctrl + F, organize checklists with auto-saving inputs, and dismiss panels with Esc without leaving the keyboard.

Harmonic Completion Audio

A subtle harmonic chime on task completion, synthesized entirely in-memory via the Web Audio API without external audio assets or network requests.


Feature Tour

1. Smart Focus Lists

  • My Day (روز من): Daily focus view that helps you prioritize what matters today.
  • Important (مهم): Star high-priority deliverables with distinct visual accents.
  • Planned (برنامه‌ریزی‌شده): Chronological timeline organizing scheduled deliverables with overdue indicators.
  • Tasks & Custom Lists: Organize initiatives with custom categorized lists and color pips.

2. Task Inspector Drawer

Slide open any task to manage details:

  • Subtasks (Steps): Break large tasks into actionable step checklists with auto-save on blur.
  • Due Date Presets: One-click presets for Today, Tomorrow, and Next Week.
  • Auto-Saving Notes: Distraction-free scratchpad for task context, thoughts, and technical details.

3. Local Profile & Workspace Settings

Click the user pill in the bottom sidebar:

  • Customize your personal display name.
  • View real-time task statistics (Total, Completed, Pending).
  • Check local storage health and offline status.

Keyboard Shortcuts

Shortcut Action Description
Ctrl + N Quick Add Focuses the task creation input bar
Ctrl + F Global Search Searches across task titles, lists, and notes
Enter Submit Commits a new task title, subtask step, or list
Esc Dismiss Closes the task inspector drawer or clears active search

Clean Architecture & Engineering Standards

Taskora is engineered using Hexagonal Clean Architecture and Domain-Driven Design (DDD):

src/
├── core/                        # Domain Layer (Pure TypeScript, Zero External Dependencies)
│   ├── domain/entities/         # Task, SubTask, TaskList domain models
│   ├── ports/                   # ITaskRepository, IListRepository interfaces
│   └── ipc/                     # Type-safe IPC channels & IElectronAPI contracts
│
├── infrastructure/              # Adapter Layer (File I/O & Persistence)
│   └── storage/
│       ├── atomic-file-storage.ts      # Thread-safe sequential write queue
│       ├── local-file-task-repository.ts
│       ├── local-file-list-repository.ts
│       └── in-memory-task-repository.ts
│
├── main/                        # Electron Main Process
│   ├── index.ts                 # Frameless window manager, app lifecycle & tray
│   └── ipc/register-handlers.ts # IPC dispatchers invoking core repository ports
│
├── preload/                     # Security Layer
│   ├── index.ts                 # Sanitized contextBridge exposure
│   └── index.d.ts               # Global Window.api TypeScript augmentation
│
└── renderer/                    # Presentation Layer (React 19 + Tailwind v4)
    ├── src/
    │   ├── components/          # TitleBar, Sidebar, TaskView, TaskDrawer, ProfileModal
    │   ├── context/             # TaskContext & reactive state management
    │   ├── i18n/                # Localization engine & Jalali date formatters
    │   ├── lib/                 # Web Audio sound engine & date utilities
    │   └── styles/              # Global styles, fonts & Tailwind CSS v4
    └── index.html

Architecture Decision Records (ADRs)


Getting Started

Prerequisites

  • Node.js (v22.x or later recommended)
  • pnpm (v10 or later)

Local Development

# Clone the repository
git clone https://github.com/almas77abolfazl/taskora.git
cd taskora

# Install dependencies using pnpm
pnpm install

# Run the Electron application with Vite Hot Module Replacement (HMR)
pnpm dev

Automated Testing & Quality Checks

# Run unit & component test suites with Vitest (22/22 tests)
pnpm test

# Run tests in watch mode
pnpm test:watch

# Execute strict TypeScript compiler validation across Main, Preload & Renderer
pnpm run typecheck

# Build production bundles
pnpm run build

# Package standalone Windows installer (.exe) & portable binary
pnpm run build:win

License

This project is open-source software licensed under the MIT License.

Developed by Abolfazl Nasiri Almas.

About

Minimal, offline-first task management desktop app built with Clean Architecture, Electron, React 19, and TypeScript.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages