تودویار (To Do Yar) یک اپلیکیشن مدیریت کارهای مدرن برای اندروید است که با هدف سادهتر کردن سازماندهی کارهای روزانه طراحی و پیادهسازی شده. این پروژه به عنوان پروژه پایانی مقطع کارشناسی من توسعه داده شده و از جدیدترین تکنولوژیهای اندروید استفاده میکنه.
معرفی کلی پروژه
هدف تودویار اینه که کاربران بتونن کارهای روزانهشون رو به سادگی ایجاد، ویرایش و مدیریت کنن. این اپلیکیشن با زبان Kotlin و رابط کاربری Jetpack Compose ساخته شده و روی معماری MVVM پایهگذاری شده.
قابلیتهای اصلی
📝 مدیریت کارها
- ایجاد، ویرایش و حذف کارها
- علامت زدن کارها به عنوان انجامشده
- ثبت زمان تکمیل هر کار
- افزودن توضیحات اختیاری به هر کار
- تعیین دستهبندی و اولویت برای هر کار
🏷 دستهبندیها
کاربر میتونه کارهاش رو توی دستههای مختلف مثل کار، شخصی، خرید، ورزش و مطالعه سازماندهی کنه. امکان ساخت و حذف دستههای سفارشی هم فراهم هست.
🔔 یادآورها
یکی از قابلیتهای مهم تودویار، سیستم یادآوریه. این اپلیکیشن با استفاده از WorkManager و نوتیفیکیشنهای اندروید، یادآور کارها رو حتی وقتی اپلیکیشن بستهست هم به کاربر نمایش میده.
📊 آمار و فعالیت
کاربر میتونه اطلاعاتی درباره فعالیتهاش ببینه:
- تعداد کارهای انجامشده
- کارهای در انتظار انجام
- فعالیت هفتگی
- آمار کلی کارها
🌓 تم روشن و تاریک
تودویار از تمهای روشن و تاریک پشتیبانی میکنه و انتخاب کاربر با DataStore به صورت دائمی ذخیره میشه.
معماری و تکنولوژیها
تودویار از معماری MVVM (Model-View-ViewModel) استفاده میکنه که جریان داده در اون به این صورته:
UI (Compose)
↓
ViewModel
↓
Repository
↓
Room / DataStore
تکنولوژیهای استفادهشده
- Kotlin — زبان اصلی برنامهنویسی
- Jetpack Compose — رابط کاربری اعلانی (Declarative UI)
- Material 3 — کامپوننتها و تمهای مدرن
- MVVM — معماری اپلیکیشن
- Dagger Hilt — تزریق وابستگی (Dependency Injection)
- Room — دیتابیس محلی
- DataStore — ذخیره تنظیمات کاربر
- Coroutines — برنامهنویسی غیرهمزمان
- Flow — جریانهای داده واکنشی
- WorkManager — زمانبندی کارهای پسزمینه
- Navigation — ناوبری بین صفحات
ساختار معماری
استفاده از معماری MVVM باعث میشه که لایه رابط کاربری (UI) کاملاً از منابع داده مستقل باشه و اپلیکیشن راحتتر قابل نگهداری و توسعه باشه. این یعنی:
- کد خواناتر و منظمتر
- تستپذیری بهتر
- جدا شدن منطق از UI
- امکان تعویض دیتابیس بدون تغییر در UI
دانلود و استفاده
نسخه نهایی تودویار از طریق لینکهای زیر در دسترسه:
تودویار به عنوان پروژه پایانی مقطع کارشناسی، با راهنمایی دکتر مرتضی یوسف صنعتی توسعه داده شده است.
نتیجهگیری
تودویار یه نمونه کامل از یه اپلیکیشن مدرن اندرویدیه که تونسته تکنولوژیهای روز مثل Jetpack Compose، Hilt و WorkManager رو با معماری درست MVVM ترکیب کنه. این پروژه هم از نظر فنی و هم از نظر معماری، یه تجربه ارزشمند برای توسعه اپلیکیشنهای حرفهای بود.
اگه دوست داشتی درباره بخش خاصی از این پروژه بیشتر بدونی (مثلاً پیادهسازی WorkManager یا معماری Room) توی کامنتها بگو تا در مقالههای بعدی بهش بپردازم.