Skip to content

TaskFlow is a comprehensive, cross-platform task management application built with Tauri, Angular, and Rust. It offers powerful task organization features including hierarchical tasks with subtasks, categories, todo lists, calendar views, progress tracking with statistics, authentication and cloud synchronization

License

Notifications You must be signed in to change notification settings

rusnakdima/TaskFlow

Repository files navigation

Task Flow

Task Flow is a productivity application built with Tauri that helps users manage and organize their tasks efficiently. The application provides a clean, intuitive interface for creating, tracking, and completing tasks with cross-platform support.

Screenshots

here are screenshots of this project

Installation

Checking the installed tools to launch the project

First make sure you have Node.js and Bun installed. To do this, open a command prompt or terminal and type the following commands:

node -v
bun -v

If Bun is not installed, you can install it from the official website. Here are the installation commands for different systems:

For macOS and Linux:

curl -fsSL https://bun.sh/install | bash

For Windows (using PowerShell):

irm bun.sh/install.ps1 | iex

For all platforms using npm:

npm install -g bun

Installation dependencies

After that, go to the folder with this project and run the following command:

bun install

Checking the installed tools to launch the project

In order to run a Rust application, you need to make sure that you have a compiler for Rust. To find out if you have one, enter the following command:

rustc --version

If you get an error instead of a version, it means that you don't have a Rust compiler. In oreder to set it up, go to the official website and follow the instructions on the website.

Usage

After installing the dependencies, use the following command to run:

bun run tauri dev

Build Optimization

This project includes several optimizations to reduce build times and avoid unnecessary recompilation of Tauri components:

Smart Build Scripts

Use the optimized build scripts that only rebuild components when source files have changed:

# Build desktop application (only rebuilds if files changed)
bun run build:smart

# Build desktop debug version
bun run build:smart:debug

# Build Android APK (only rebuilds if files changed)
bun run build:smart:android

# Build Android APK debug version
bun run build:smart:android:debug

# Clean all build artifacts and cache
bun run build:clean

Traditional Build Scripts

For comparison, traditional build scripts are still available:

# Standard desktop build (always rebuilds everything)
bun run tauri:build

# Android APK build
bun run tauri:build:android:apk

# Android AAB build
bun run tauri:build:android:aab

Build Optimizations Applied

  1. Incremental Compilation: Rust code uses incremental compilation to avoid recompiling unchanged code
  2. Smart Frontend Building: Frontend is only rebuilt when source files change
  3. Optimized Codegen Units: Development builds use 16 codegen units for faster compilation
  4. Build Caching: Build timestamps are tracked to determine what needs rebuilding
  5. CI/CD Integration: The same optimized build script works in GitHub Actions for consistent builds across all platforms (desktop, Android, iOS)

Performance Tips

  • Use bun run build:smart for development builds to avoid unnecessary recompilation
  • The first build will always take longer as it establishes the baseline
  • Subsequent builds will be much faster if only small changes are made
  • Use bun run build:clean if you encounter build issues or want to start fresh

Authors

License

This project is licensed under the License Name.

Contact

If you have any questions or comments about this project, please feel free to contact us at contact email.

About

TaskFlow is a comprehensive, cross-platform task management application built with Tauri, Angular, and Rust. It offers powerful task organization features including hierarchical tasks with subtasks, categories, todo lists, calendar views, progress tracking with statistics, authentication and cloud synchronization

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •