Skip to content

Repository files navigation

✅ Task Yar — تسک یار

A beautiful, modern, open-source task manager for Android — built with Kotlin, Jetpack Compose & Material 3

Android Kotlin Compose Material 3 License Version Website

Plan your day. Organize your life. Get things done — beautifully, offline, and in your language.

🇮🇷 مطالعه به فارسی · 🐛 Report a Bug · ✨ Request a Feature


📖 About The Project

Task Yar (Persian for Task Companion) is a premium-quality, open-source task manager for Android, designed for people who want a fast, beautiful, and distraction-free way to organize their day.

Built from the ground up with 100% Kotlin, Jetpack Compose, and Material 3, Task Yar is a showcase of modern Android development — featuring MVVM architecture, a fully offline Room database, multi-language support, light/dark themes, custom categories, and intuitive drag-and-drop task reordering.

💡 Whether you're a student tracking assignments, a developer juggling features, or a busy parent organizing the family — Task Yar gives you a polished, native-feeling experience without ads, tracking, or required accounts.


✨ Key Features

  • Beautiful Material 3 UI — dynamic color, modern shapes, smooth animations
  • 🌗 Light & Dark themes — with system auto-switching
  • 🌍 Multi-language support — including full Persian / RTL
  • 📂 Custom categories — organize tasks your way (with custom colors & icons)
  • 🖱️ Drag-and-drop reordering — natural, frame-perfect gestures
  • 💾 100% offline-first — your data lives on your device (Room database)
  • 🔐 No accounts, no tracking, no ads — total privacy
  • Lightning fast — Jetpack Compose-powered UI with edge-to-edge layout
  • 🎯 Smart filtering & sorting — by date, priority, category, or completion
  • 🧠 MVVM + Clean architecture — production-grade code quality
  • 🧪 Screenshot-tested with Roborazzi for visual regression safety
  • 📱 Android 7.0+ (API 24) — runs on 98%+ of active Android devices

📸 Screenshots

Home Categories Dark Mode
Home Categories Dark

🛠️ Tech Stack

Layer Technology
🎨 UI Jetpack Compose · Material 3 · Compose Icons Extended
🧠 Architecture MVVM · Single-Activity · Unidirectional Data Flow
💾 Persistence Room Database (KSP)
🌐 Networking Retrofit · Moshi · OkHttp Logging Interceptor
Async Kotlin Coroutines & Flow
🔒 Build Gradle Kotlin DSL · Secrets Gradle Plugin · Version Catalog
🧪 Testing JUnit · Robolectric · Roborazzi (screenshot tests) · Espresso
🔥 Optional Firebase BOM (for future cloud sync)

🚀 Getting Started

📋 Prerequisites

  • Android Studio Ladybug (2024.2.1) or newer
  • JDK 17 or higher
  • Android SDK 36 installed
  • A real device or emulator with Android 7.0+ (API 24)

📥 Build & Run

  1. Clone the repository

    git clone https://github.com/samafzalidev/task-yar.git
    cd task-yar
  2. Open the project in Android Studio (File → Open → select the folder)

  3. Sync Gradle — Android Studio will automatically download dependencies

  4. Connect your device (or start an emulator) and click ▶️ Run

    Or via terminal:

    ./gradlew installDebug

🏗️ Release Build

To build a signed release APK:

export KEYSTORE_PATH=/path/to/your/keystore.jks
export STORE_PASSWORD=your_store_password
export KEY_PASSWORD=your_key_password

./gradlew assembleRelease

The signed APK will be in app/build/outputs/apk/release/.


📁 Project Structure

task-yar/
├── 📁 app/
│   ├── build.gradle.kts
│   ├── proguard-rules.pro
│   └── src/main/
│       ├── 📄 AndroidManifest.xml
│       ├── 📁 java/com/example/
│       │   ├── MainActivity.kt
│       │   ├── 📁 data/         ← Room entities, DAOs, repositories
│       │   ├── 📁 ui/           ← Compose screens & theme
│       │   └── 📁 viewmodel/    ← MVVM ViewModels
│       └── 📁 res/              ← Strings, colors, icons
│
├── 📄 build.gradle.kts          ← Root build script
├── 📄 settings.gradle.kts
├── 📄 gradle.properties
├── 📄 metadata.json             ← App metadata
└── 📁 gradle/                   ← Version catalog & wrapper

🗺️ Roadmap

Planned features for upcoming versions:

  • 🔔 Reminders & local notifications
  • 📅 Recurring tasks (daily, weekly, custom)
  • ☁️ Cloud sync via Firebase / WebDAV / iCloud-style backup
  • 👥 Shared lists for family/team collaboration
  • 🎨 Custom themes & color palettes
  • 📎 File & image attachments on tasks
  • 🗣️ Voice input to quickly add tasks
  • Wear OS companion
  • 🧩 Home screen widgets (Compose Glance)
  • 🤖 Smart suggestions powered by on-device ML

Have an idea? Open an issue 🚀


🤝 Contributing

Contributions are warmly welcome! 🎉

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'feat: add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

⭐ If you like this project, please star it — it really helps!


📜 License

This project is distributed under a custom permissive license:

Copyright © 2026 Sam Afzali

Permission is granted to use, copy, and distribute this software for personal, educational, and non-commercial purposes, provided the original author is credited.

Commercial use, modification, resale, or claiming authorship is strictly prohibited without explicit written permission.

📩 For commercial licensing or custom development, contact the author below.

See the LICENSE file for full details.


👨‍💻 Author

Sam Afzali — Mobile & Full-Stack Developer

🌐 Website: samafzali.ir 📧 Email: samafzalidev@gmail.com · info@samafzali.ir 🐙 GitHub: @samafzalidev

Designed & developed with ❤️ in Iran

💼 Available for hire — open to freelance Android, Kotlin, and full-stack projects.


🙏 Acknowledgments

  • Android Jetpack — the modern Android toolkit
  • Jetpack Compose — the future of Android UI
  • Material 3 — Google's modern design system
  • Room — the database that just works
  • Roborazzi — screenshot testing made delightful
  • The entire Android & Kotlin open-source community 💚

If Task Yar helped organize your day, please leave a ⭐ on GitHub!

Made with ❤️ by Sam Afzali

About

✅ Task Yar — A beautiful, modern open-source task manager for Android. Built with Kotlin, Jetpack Compose & Material 3. Features dark/light theme, multi-language, custom categories, drag-and-drop, and a fully offline Room database.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages