سند معرفی جامع پروژه — نسخه ۱.۰

معرفی کامل پروژه «دوره» (Doreh)

زبان سند: فارسی · تاریخ تهیه: ۱۴۰۵/۰۴/۰۴ · وضعیت سند: آماده برای انتشار

اپلیکیشن موبایل اندروید برای مدیریت صندوق‌های قرض‌الحسنه گروهی (ROSCA) — مبتنی بر بررسی مستقیم کد منبع، مستندات فنی و تاریخچهٔ پایگاه داده.

1.0.0نسخه فعلی
API 21+پلتفرم هدف
۲۵/۲۵تست‌های واحد موفق
fa / enزبان‌های پشتیبانی
Production-Readyوضعیت فعلی
۰۱

نمای کلی پروژه

عنواناطلاعات
نام اپلیکیشندوره (Doreh)
تاریخ شروع پروژهاولین نسخه کامل کدبیس در خرداد ۱۴۰۵ (ژوئن ۲۰۲۶)؛ طراحی معماری از اردیبهشت ۱۴۰۵ (مه ۲۰۲۶)
پلتفرم هدفاندروید (حداقل API 21)؛ پشتیبانی iOS اعلام‌شده در pubspec اما بدون تست رسمی؛ طراحی Portrait-only
وضعیت فعلیآماده برای انتشار (Production-Ready) — نسخه 1.0.0؛ نسخه دیتابیس ۱۰؛ ۲۵ از ۲۵ تست واحد موفق؛ بدون خطا در flutter analyze

فناوری‌ها، چارچوب‌ها و کتابخانه‌ها

دستهابزار / کتابخانهنسخه
زبان برنامه‌نویسیDartSDK ≥3.2.0
فریمورک اصلیFlutterMaterial Design
پایگاه داده محلیSQLite (sqflite)2.3.0+
ذخیره‌سازی امنflutter_secure_storage10.3.1+
مدیریت حالتFlutter BLoC8.1.6+
تولید PDFpdf + arabic_reshaper + bidi3.10.8+
خروجی Excelexcel4.0.6+
تقویم شمسیshamsi_date1.1.1+
اشتراک‌گذاری فایلshare_plus13.1.0+
انتخاب تصویرimage_picker1.1.2+
فونت‌هاVazirmatn، Parastoo
رمزنگاریcrypto (SHA-256)3.0.3+
بین‌المللی‌سازیintl0.20.2+
۰۲

معرفی کوتاه

دوره (Doreh) یک اپلیکیشن موبایل اندروید است که برای مدیریت صندوق‌های قرض‌الحسنه گروهی یا «صندوق دوره» (Rotating Savings and Credit Association — ROSCA) طراحی شده است.

در این نوع صندوق، گروهی از افراد در دوره‌های زمانی مشخص (هفتگی، ماهانه، یا دوره‌ای دیگر) مبلغ ثابتی پرداخت می‌کنند و هر بار یکی از اعضا — طبق قرعه‌کشی یا توافق — کل مبلغ جمع‌آوری‌شده را دریافت می‌کند. این فرآیند ادامه می‌یابد تا همه اعضا نوبت دریافت خود را داشته باشند.

اپلیکیشن دوره این فرآیند را از مدیریت کاغذی و دفتری خارج کرده و آن را به یک سیستم ساده، دقیق و کاملاً آفلاین تبدیل می‌کند.

۰۳

هدف پروژه

چرا این پروژه ساخته شد؟

صندوق‌های دوره‌ای از دیرباز در میان خانواده‌ها، دوستان و همکاران ایرانی رایج بوده‌اند. اما مدیریت سنتی این صندوق‌ها — به‌صورت دستی در دفتر یا جداول اکسل ساده — با مشکلات جدی همراه است:

  • گم شدن دفاتر یا خرابی فایل‌های دیجیتالی
  • اشتباه در محاسبات مانده بدهی هر عضو
  • اختلاف‌نظر درباره ترتیب نوبت‌ها یا مبلغ پرداخت‌ها
  • عدم شفافیت در گزارش‌دهی به اعضا
  • فراموشی تاریخ پرداخت‌ها یا جزئیات تراکنش‌ها
  • دشواری گزارش‌گیری مالی برای پیگیری مانده و بدهکاری‌ها

مشکلی که حل می‌کند

  • همه اطلاعات اعضا، سهام، پرداخت‌ها، نوبت‌ها و گزارش‌ها را در یک جا نگه می‌دارد
  • بدون نیاز به اینترنت کار می‌کند
  • گزارش‌های دقیق و رسمی PDF تولید می‌کند که قابل اشتراک‌گذاری هستند
  • از اطلاعات مالی با قفل امنیتی محافظت می‌کند
  • از گم شدن داده با سیستم پشتیبان‌گیری جلوگیری می‌کند
۰۴

مخاطبان هدف

  • مدیران صندوق (هماهنگ‌کننده‌ها): افرادی که صندوق را تأسیس می‌کنند، اعضا را ثبت می‌کنند، قرعه‌کشی برگزار می‌کنند و پرداخت‌ها را ثبت می‌کنند
  • مسئولان حسابداری صندوق: نظارت مالی، پیگیری واریزی‌ها و صدور گزارش
  • اعضای صندوق‌های خانوادگی یا دوستانه: آگاهی از وضعیت نوبت و مانده خود
  • خانواده‌های ایرانی که از صندوق قرض‌الحسنه استفاده می‌کنند
  • گروه‌های کاری که صندوق جمعی دارند

این برنامه برای یک کاربر منفرد (single-user) طراحی شده که نقش مدیریت صندوق را بر عهده دارد. نسخه چندکاربره و ابری برای آینده برنامه‌ریزی شده است.

۰۵

قابلیت‌های اصلی

۵.۱ مدیریت اعضا (افراد)

  • ثبت، ویرایش و حذف اعضا در یک فهرست مرکزی؛ ذخیره نام، تلفن، ایمیل و توضیحات
  • یک شخص می‌تواند در چند صندوق مختلف عضو باشد
  • ویرایش نام پس از ثبت تراکنش مالی قفل می‌شود؛ حذف شخص دارای تراکنش مسدود می‌شود

۵.۲ مدیریت صندوق‌ها

  • ایجاد، ویرایش و حذف صندوق با نام، مبلغ سهم، دوره پرداخت (هفتگی تا سه‌ماهه)، تاریخ شروع، هماهنگ‌کننده و مسئول حسابداری
  • چرخه عمر صندوق: پیش‌نویس (Draft) → فعال (Active) → تکمیل‌شده (Completed) → بایگانی‌شده (Archived)
  • محاسبه خودکار تاریخ تقریبی پایان صندوق و قفل‌شدن پس از اولین پرداخت نوبت

۵.۳ مدیریت سهام

  • هر عضو می‌تواند یک یا چند سهم داشته باشد؛ پشتیبانی از سهام کسری (0.25، 0.5، 0.75، ...)
  • مجموع سهام صندوق باید قبل از قرعه‌کشی یا فعال‌سازی یک عدد صحیح باشد
  • سهام کسری با گروه‌بندی به یک موقعیت قرعه‌کشی تبدیل می‌شوند؛ نمایش زنده مجموع سهام هنگام افزودن اعضا

۵.۴ قرعه‌کشی و نوبت‌بندی

  • قرعه‌کشی تصادفی: الگوریتم Shuffle برای ترتیب تصادفی نوبت‌ها
  • ترتیب دستی: Drag & Drop برای نوبت‌های آینده (پرداخت‌نشده)؛ نوبت‌های پرداخت‌شده قفل می‌شوند
  • تمام تغییرات ترتیب در لاگ حسابرسی ثبت می‌شوند

۵.۵ ثبت پرداخت اعضا (واریزی‌ها)

  • مبلغ، تاریخ، روش پرداخت (نقدی/انتقال بانکی)، توضیحات، پیوست رسید
  • محاسبه خودکار دوره بر اساس تاریخ پرداخت و تاریخ شروع صندوق؛ پیش‌پر کردن مبلغ پیش‌فرض و مانده بدهی
  • پشتیبانی از پرداخت جزئی؛ جلوگیری از پرداخت تکراری کامل برای همان دوره

۵.۶ ثبت پرداخت نوبت (خروجی صندوق)

  • ثبت تاریخ، مبلغ و روش پرداخت به برنده نوبت؛ پشتیبانی از پرداخت اقساطی
  • وضعیت نوبت: در انتظار (Waiting)، پرداخت شده (Paid)، جزئاً پرداخت شده (Partially Paid)

۵.۷ خروج عضو و جایگزینی

  • ثبت خروج عضو همراه با تاریخ و یادداشت؛ تعیین عضو جایگزین
  • مجموع سهام صندوق پس از جایگزینی ثابت می‌ماند؛ بخش «سوابق جایگزینی» در گزارش‌های PDF ثبت می‌شود

۵.۸ گزارش‌های PDF

سه نوع گزارش PDF با پشتیبانی کامل از متن فارسی RTL و فونت‌های فارسی:

گزارش جامع صندوق

۸ بخش: خلاصه مدیریتی، نمای کلی، اعضا و سهام، تاریخچه مشارکت‌ها، تاریخچه دریافت‌ها، سوابق جایگزینی، جمع‌بندی مالی، تأیید مدیر

گزارش خلاصه مالی

اطلاعات مختصر و فشرده از وضعیت مالی صندوق

گزارش صورت‌حساب عضو

صورت‌حساب اختصاصی شامل تمام پرداخت‌ها و مانده بدهی

ویژگی‌های فنی: پشتیبانی Arabic Reshaping و Bidi، فونت‌های وزیرمتن/پرستو، قابل اشتراک‌گذاری از هر اپلیکیشن، جداول راست‌چین.

۵.۹ خروجی Excel

صادرات کل پایگاه داده در یک فایل اکسل (.xlsx) با ۷ برگه: صندوق‌ها، اعضا/افراد، اعضای صندوق، سهام، پرداخت‌ها، لاگ حسابرسی، تنظیمات — قابل استفاده در Excel، LibreOffice و Google Sheets.

۵.۱۰ پشتیبان‌گیری و بازیابی محلی

  • فایل پشتیبان SQLite .db با نام‌گذاری بر اساس تاریخ/زمان؛ ایمن‌سازی WAL پیش از کپی
  • بازیابی با اعتبارسنجی هدر SQLite؛ نسخه امنیتی .restore_bak و Rollback خودکار در صورت خرابی

۵.۱۱ داشبورد

  • نمایش تمام صندوق‌های فعال با وضعیت پرداخت و شاخص‌های کلیدی (موجودی، تعداد اعضا، تعداد صندوق‌های فعال)
  • فیلتر بر اساس وضعیت؛ کارت «مانده دوره جاری» با لیست اعضای بدون پرداخت

۵.۱۲ لاگ حسابرسی (Audit Log)

ثبت خودکار تمام تغییرات مهم سیستم (تغییر ترتیب نوبت‌ها، حذف‌ها، ویرایش‌ها)، قابل مشاهده در رابط کاربری و گزارش Excel.

۵.۱۳ تنظیمات شخصی‌سازی

زبان (fa/en)جهت متن (RTL/LTR)تقویم (شمسی/میلادی) فرمت تاریخ/روزواحد ارزفرمت اعداد فونت گزارشتم (روشن/تاریک)
۰۶

نحوه کارکرد اپلیکیشن

۶.۱ جریان کلی کاربر

ورود به برنامه (PIN) ← داشبورد ← انتخاب صندوق ← مشاهده جزئیات ↕ ↕ تنظیمات مدیریت اعضا

۶.۲ صفحه ورود (Splash / PIN)

اپلیکیشن با یک صفحه قفل شروع می‌شود: اولین بار کاربر یک کد امنیتی ۴ رقمی تعریف می‌کند؛ بارهای بعدی باید همان کد را وارد کند. PIN با الگوریتم SHA-256 هش‌شده و در حافظه امن ذخیره می‌شود.

۶.۳ تا ۶.۴ داشبورد و صفحه جزئیات صندوق

زبانهمحتوا
نمای کلیاطلاعات صندوق، اعضا، وضعیت پرداخت دوره جاری
نوبت‌بندیترتیب قرعه‌کشی، وضعیت هر نوبت، ثبت پرداخت نوبت
پرداخت‌هالیست کامل واریزی‌ها، ثبت پرداخت جدید
گزارش‌هادریافت PDF، اشتراک‌گذاری

۶.۵ جریان مدیریت صندوق (از ابتدا تا پایان)

۱
ایجاد صندوق (پیش‌نویس): تعریف مشخصات صندوق، افزودن اعضا و تعیین سهم؛ مجموع سهام باید عدد صحیح باشد.
۲
قرعه‌کشی: اجرای قرعه‌کشی تصادفی یا تنظیم ترتیب دستی.
۳
فعال‌سازی صندوق: اعضا، سهام و تعداد نوبت‌ها قفل می‌شوند.
۴
ثبت پرداخت‌ها در هر دوره: سیستم دوره را بر اساس تاریخ محاسبه می‌کند و مانده بدهی را نمایش می‌دهد.
۵
ثبت پرداخت نوبت: هنگامی که نوبت یک عضو فرا می‌رسد؛ امکان پرداخت اقساطی وجود دارد.
۶
اتمام صندوق: تمام نوبت‌ها پرداخت شده‌اند؛ صندوق قفل می‌شود و فقط مشاهده و گزارش‌گیری ممکن است.
۰۷

داده‌ها و اطلاعات مدیریت‌شده

داده‌های وارد شده توسط کاربر
  • اطلاعات هویتی اعضا (نام، تلفن، ایمیل)
  • مشخصات صندوق (نام، مبلغ، دوره، تاریخ)
  • تعداد سهام هر عضو
  • پرداخت‌های واریزی و پرداخت نوبت
  • تصویر رسید (دوربین یا گالری)
داده‌های تولیدشده توسط سیستم
  • شماره دوره پرداخت (بر اساس تاریخ)
  • وضعیت و مانده بدهی هر عضو
  • پیشرفت قرعه‌کشی و پیشرفت مالی صندوق
  • موجودی واقعی صندوق (واریزها − نوبت‌های پرداخت‌شده)
  • لاگ حسابرسی تمام رویدادهای مهم

ساختار پایگاه داده (نسخه ۱۰)

جدولتوضیح
personsفهرست اشخاص
fundsصندوق‌ها
fund_membersعضویت اشخاص در صندوق‌ها
drawsنوبت‌های قرعه‌کشی و اطلاعات پرداخت نوبت
sharesسهام هر عضو در هر صندوق
paymentsواریزی‌های اعضا
draw_payout_transactionsتراکنش‌های جزئی پرداخت نوبت (اقساط)
audit_logsلاگ حسابرسی
settingsتنظیمات برنامه
۰۸

حریم خصوصی و امنیت

ذخیره‌سازی محلی

تمام داده‌ها فقط روی دستگاه کاربر ذخیره می‌شوند. هیچ داده‌ای به سرورهای خارجی ارسال نمی‌شود؛ برنامه برای کارکرد عادی نیازی به اتصال اینترنت ندارد.

قفل امنیتی PIN

کد امنیتی ۴ رقمی با الگوریتم SHA-256 هش می‌شود. فقط مقدار هش‌شده در حافظه امن دستگاه (Keychain اندروید) ذخیره می‌شود؛ هیچ‌گاه کد اصلی ذخیره نمی‌شود.

حافظه امن و پیوست‌ها

از flutter_secure_storage برای ذخیره هش PIN و تنظیمات بیومتریک استفاده می‌شود. تصاویر رسیدهای پرداخت در پوشه خصوصی برنامه (attachments/) ذخیره می‌شوند — نه در پایگاه داده.

توجه پشتیبان‌گیری: فایل پشتیبان .db بدون رمزنگاری ذخیره می‌شود. در صورت اشتراک‌گذاری، کاربر مسئولیت حفاظت از آن را بر عهده دارد.

چه داده‌ای جمع‌آوری نمی‌شود

هیچ حساب کاربری آنلاین، تله‌متری یا گزارش خطای خودکار وجود ندارد. هیچ اطلاعاتی با شرکت‌های ثالث به اشتراک گذاشته نمی‌شود و مشخصات دستگاه یا موقعیت جغرافیایی ذخیره نمی‌شود.
۰۹

بومی‌سازی و پشتیبانی از زبان

زبانکدجهت نوشتار
فارسی (پیش‌فرض)faراست‌به‌چپ (RTL)
انگلیسیenچپ‌به‌راست (LTR)

تقویم‌ها و اعداد

  • تقویم شمسی (جلالی) — پیش‌فرض فارسی؛ تقویم میلادی (گرگوری) — قابل انتخاب
  • اعداد فارسی (۰-۹) و انگلیسی (0-9) بر اساس زبان

پشتیبانی RTL در گزارش‌های PDF

  • Arabic Reshaping برای اتصال صحیح حروف فارسی/عربی
  • Bidi Algorithm برای ترتیب صحیح کاراکترها
  • جداول گزارش در حالت RTL به‌صورت ستون‌های معکوس؛ شماره ردیف در سمت راست
فونت‌ها: وزیرمتن (Vazirmatn) پیش‌فرض، پرستو (Parastoo) قابل انتخاب در تنظیمات. ساختار ترجمه در یک فایل مرکزی app_localizations.dart (بدون فایل‌های .arb) نگهداری می‌شود؛ تغییر زبان بلافاصله اعمال می‌شود.
۱۰

رابط کاربری و تجربه کاربری

سبک طراحی

  • Glassmorphism: کارت‌های شیشه‌ای با شفافیت جزئی
  • Material Design 3 با تم سفارشی؛ تم تاریک/روشن خودکار
  • طراحی Responsive با SafeArea؛ حالت Portrait-only

ناوبری و صفحه‌های کلیدی

صفحهعملکرد
Splash / PINورود امن به برنامه
داشبوردنمای کلی صندوق‌ها و آمار
لیست اعضامدیریت افراد
فرم صندوقایجاد/ویرایش صندوق
جزئیات صندوقمدیریت نوبت‌ها، پرداخت‌ها، گزارش‌ها
فرم پرداختثبت واریزی عضو
صفحه عضوپروفایل کامل عضو در صندوق
تنظیماتشخصی‌سازی و پشتیبان‌گیری

نوار ناوبری پایینی با سه بخش اصلی: داشبورد، اعضا، تنظیمات.

۱۱

صادرات، واردات، پشتیبان‌گیری، بازیابی و گزارش‌دهی

پشتیبان‌گیری محلی
  • فایل .db از کل پایگاه داده
  • نام فایل: doreh_backup_YYYYMMDD_HHMMSS.db
  • اشتراک‌گذاری از طریق هر اپلیکیشنی
بازیابی از پشتیبان
  • بازیابی از فایل‌های ذخیره‌شده در پوشه برنامه
  • اعتبارسنجی ساختار SQLite قبل از بازیابی
  • نسخه امنیتی خودکار برای Rollback
گزارش PDF

سه نوع گزارش RTL با فونت فارسی، قابل اشتراک‌گذاری.

خروجی Excel

صادرات ۷ برگه از کل پایگاه داده؛ ذخیره در exports/ و اشتراک‌گذاری.

پشتیبان‌گیری Google Drive: تنها یک رابط کاربری نمایشی (Placeholder) پیاده‌سازی شده است. تمام عملیات Google Drive پیام «به زودی» نمایش می‌دهند و هنوز عملکرد واقعی ندارند.
۱۲

معماری فنی

الگوی معماری

لایهمسیروظیفه
Domainlib/domain/موجودیت‌های خالص Dart + واسط‌های انتزاعی
Datalib/data/پیاده‌سازی repository با sqflite
Presentationlib/presentation/BLoC Cubits + صفحات + ویجت‌ها

مدیریت حالت — Flutter BLoC (Cubit)

SettingsCubitAuthCubitFundListCubit FundDetailCubitPaymentCubitMemberCubit

مدل داده اصلی

Person (هویت واقعی شخص — مستقل) └── fund_members (جدول واسط: شخص ↔ صندوق) └── Share (سهم مشارکت؛ مقدار = کسری یا عدد صحیح) ├── draw_id → Draw (نوبت قرعه‌کشی) └── Payment (واریزی در هر دوره) Fund → Draws (یک Draw برای هر موقعیت نوبت) └── DrawPayoutTransaction (اقساط پرداخت نوبت)

پایگاه داده SQLite (نسخه طرح ۱۰) با Foreign Keys و ON DELETE CASCADE، ایندکس‌های بهینه روی کلیدهای خارجی، و سیستم Migration از نسخه ۱ تا ۱۰.

۱۳

محدودیت‌ها و موارد عمداً حذف‌شده

محدودیت‌های فعلی

  • پیوست‌های خارج از پشتیبان: تصاویر رسیدها در فایل .db پشتیبان نیستند؛ باید پوشه attachments/ دستی منتقل شود.
  • پشتیبان‌گیری Google Drive: تنها UI نمایشی، بدون عملکرد واقعی.
  • پشتیبان رمزنگاری‌نشده: فایل .db بدون رمزنگاری ذخیره می‌شود.
  • وارد کردن فایل از مسیر دلخواه: به دلیل ناسازگاری file_picker با share_plus 13.x حذف شده است.
  • سیستم یک‌کاربره: فقط یک کاربر مدیریتی؛ ورود چندکاربره پیاده‌سازی نشده.
  • پیشرفت پرداخت اضافی: پرداخت بیش از مبلغ دوره برای دوره‌های آینده کارت نمی‌شود.

موارد عمداً خارج از دامنه

پرداخت آنلاین / درگاه بانکیسیستم جریمه تأخیر چت یا پیام‌رسانی بین اعضاهمگام‌سازی ابری اعتبارسنجی/امتیازدهی اعضانسخه وب یا دسکتاپ
۱۴

وضعیت قابلیت‌ها

قابلیت‌های تکمیل‌شده
  • مدیریت اعضا و صندوق‌ها (CRUD کامل)
  • قرعه‌کشی و نوبت‌بندی (تصادفی + دستی)
  • ثبت واریزی اعضا با پیوست رسید
  • پردازش پرداخت جزئی و محاسبه مانده
  • ثبت پرداخت نوبت با پشتیبانی اقساطی
  • خروج عضو و جایگزینی
  • پشتیبانی از سهام کسری و گروه‌بندی
  • گزارش‌های PDF جامع (RTL فارسی کامل)
  • خروجی Excel هفت‌برگه
  • پشتیبان‌گیری و بازیابی محلی
  • قفل امنیتی PIN
  • دو زبانه (فارسی/انگلیسی) کامل
  • تقویم شمسی/میلادی؛ تم تاریک و روشن
  • لاگ حسابرسی؛ داشبورد با KPI‌های کلیدی
موارد موکول‌شده به نسخه‌های آینده
شناسهتوضیح
FR-001طراحی جایگزین گزارش PDF (قالب بصری دوم)
FR-002ویرایشگر دستی کامل گروه‌بندی سهام کسری
پشتیبان‌گیری واقعی Google Drive
سیستم جریمه تأخیر پرداخت
ورود چندکاربره یا همگام‌سازی ابری
۱۵

معرفی بازاریابی

اپلیکیشن دوره — دستیار هوشمند مدیران صندوق‌های قرض‌الحسنه — راه‌حلی کامل، آفلاین و امن برای تمام کسانی است که صندوق‌های دوره‌ای خانوادگی، دوستانه یا کاری مدیریت می‌کنند. با دوره، دیگر نیازی به دفترچه، اکسل یا ریاضی پیچیده ندارید؛ اعضا را ثبت کنید، قرعه‌کشی کنید، پرداخت‌ها را ثبت کنید و با یک کلیک گزارش PDF کامل و رسمی بگیرید.

این اپلیکیشن کاملاً فارسی، کاملاً آفلاین، با تقویم شمسی و فونت‌های فارسی بهینه‌سازی شده است تا بهترین تجربه کاری را برای خانواده‌ها و گروه‌های ایرانی فراهم کند. از قفل PIN برای حفاظت از اطلاعات مالی تا پشتیبان‌گیری آسان و بازیابی ایمن — دوره همه چیزی است که یک مدیر صندوق حرفه‌ای نیاز دارد.

جمع‌بندی نهایی

اپلیکیشن دوره یک پروژه آفلاین-اول (Offline-First) بالغ و آماده برای انتشار است که یک نیاز واقعی و روزمره در جامعه ایرانی را با یک راه‌حل مدرن، ایمن و کاربرپسند برطرف می‌کند. این اپلیکیشن با بهره‌گیری از معماری تمیز، پایگاه داده قوی SQLite با نسخه Migration مستند، گزارش‌های PDF RTL بومی، و رابط کاربری مدرن فارسی، نقطه شروع مناسبی برای یک محصول نرم‌افزاری پایدار است.

قابلیت‌های اصلی کاملاً پیاده‌سازی و تست شده‌اند. موارد باقی‌مانده (پشتیبان‌گیری ابری، طراحی جایگزین گزارش) برنامه‌ریزی‌شده و به نسخه‌های آینده موکول شده‌اند — بدون این‌که مانع استفاده عادی از برنامه شوند. پروژه دوره پایه‌ای محکم برای گسترش به سمت همگام‌سازی ابری، سیستم چندکاربره و نسخه iOS در آینده دارد.

این سند بر اساس بررسی مستقیم کد منبع، مستندات فنی، تاریخچه پایگاه داده و اسناد موجود در مخزن پروژه تهیه شده است. هیچ قابلیتی فراتر از آنچه در کد پیاده‌سازی شده، ادعا نشده است.