S/۰۶ · خدمات
اپلیکیشن موبایل و دسکتاپ
در هر جیب، روی هر میز، در هر مرورگر.
اپلیکیشن Native و چندسکویی برای iOS، اندروید، macOS، ویندوز و لینوکس و افزونهی مرورگر. آفلاینمحور، همگام با API شما و منتشرشده در همهی فروشگاههایی که کاربرانتان از آنها خرید میکنند.
- پلتفرمها
- iOS، اندروید، macOS، ویندوز، لینوکس
- همچنین
- افزونهی مرورگر
- ساختهشده
- آفلاینمحور و همگام
- ۰۱
کاربرانتان روی گوشی زندگی میکنند و سرویس شما نه.
- ۰۲
تیمهای میدانی با هر قطعی اینترنت کارشان را از دست میدهند.
- ۰۳
به ابزار دسکتاپی نیاز دارید که با سختافزار محلی حرف بزند.
- ۰۴
یک افزونهی مرورگر شما را دقیقاً جایی میبرد که کاربرانتان همین حالا هستند.
- D/۰۱
Native یا چندسکویی
فناوری را بر اساس کاری که اپلیکیشن باید انجام دهد و کسی که بعداً نگهش میدارد انتخاب میکنیم، نیازمندی به نیازمندی. کد Native جایی که اپ به دسترسی عمیق به دستگاه نیاز دارد، یک کدبیس مشترک جایی که از دو بار ساختن همهچیز جلوگیری میکند، و دلیلها مکتوب تا بشود بعداً دوباره بررسیشان کرد.
شامل
- سند مکتوب انتخاب فناوری، نیازمندی به نیازمندی
- نمونهی اولیهی قابل کلیک روی گوشی واقعی
- کد مشترک جایی که کمک میکند، ماژول Native جایی که نه
- برآورد هزینهی نگهداری هر گزینه
docs/stack-decision.md نیازمندی انتخاب دلیل فهرست نوبتها، بدون اینترنت Flutter یک کدبیس، SQLite روی هر دو چاپگر رسید بلوتوثی ماژول Native فقط SDK خود پلتفرم پشتیبانی میکند ویجت صفحهی اصلی Native به WidgetKit و Glance نیاز دارد اپ دسکتاپ پذیرش Tauri نصبکنندهی کوچک، همان رابط وب دو برنامهنویس در تیم Flutter یک زبان برای نگهداری - D/۰۲
همگامسازی آفلاینمحور
اپلیکیشن از پایگاه دادهای روی خود دستگاه میخواند و در آن مینویسد، پس در زیرزمین یا توی مترو هم کار میکند. تغییرات در صف میمانند و با برگشتن اتصال همگام میشوند، و وقتی دو نفر یک رکورد را ویرایش کنند، قواعد روشنی تعیین میکند کدام بماند و هیچ چیز بیصدا گم نمیشود.
شامل
- پایگاه دادهی محلی با دادهای که هر کاربر لازم دارد
- صف تغییراتی که با بسته شدن اپ از بین نمیرود
- قواعد حل تعارض، توافقشده با شما و ثبتشده
- تستهایی که وسط همگامسازی اینترنت را قطع میکنند
docs/sync.mmd - D/۰۳
نوتیفیکیشن و بلادرنگ
بکاند شما رویدادی میفرستد و آدمهای درست باخبر میشوند: نوتیفیکیشن وقتی اپ بسته است، بهروزرسانی زنده وقتی باز است. توکنهای منقضی، ساعتهای سکوت و تلاش دوباره را مدیریت میکنیم تا اعلان یک بار، بهموقع و فقط وقتی به کار میآید برسد.
شامل
- نوتیفیکیشن از طریق APNs و Firebase Cloud Messaging
- بهروزرسانی زنده با WebSocket وقتی اپ باز است
- تنظیمات اعلان که هر کاربر خودش انتخاب میکند
- لاگ تحویل، تا ببینید چه چیزی رسیده
notify · production $ notify tail --env production
✓ 10:02:11 booking.confirmed → APNs delivered 84 ms
✓ 10:02:11 booking.confirmed → FCM delivered 112 ms
✓ 10:02:14 slot.freed → ws 412 live clients
! 10:02:19 FCM token expired · device d_7f3a removed
✓ 10:30:00 reminder.24h → 38 devices, 38 delivered
- D/۰۴
اپلیکیشن دسکتاپ
اپ دسکتاپ برای کارهایی که مرورگر خوب از پسشان برنمیآید: حرف زدن با چاپگر یا کارتخوان، کار با فایلهای محلی، باز ماندن تمام روز روی میز پذیرش. هر نسخه امضا میشود، مثل هر برنامهی دیگری نصب میشود و بدون آمدن کارشناس IT خودش را بهروز میکند.
شامل
- نصبکنندهی امضاشده برای هر سیستمعامل
- بهروزرسانی خودکار، با امکان برگشت به نسخهی قبل
- دسترسی به سختافزار و فایلهای محلی هر جا لازم باشد
- پایپلاین ساختی که همهی پلتفرمها را یکجا میسازد
release/v2.4.0/ - release/
- v2.4.0/
- ClinicDesk-2.4.0-arm64.dmgmacOS · notarized
- ClinicDesk-2.4.0-x64.dmgmacOS · Intel
- ClinicDesk-2.4.0-x64-setup.exeویندوز · امضاشده
- ClinicDesk-2.4.0-x64.msiویندوز · سازمانی
- clinicdesk_2.4.0_amd64.debDebian، Ubuntu
- ClinicDesk-2.4.0.AppImageهر لینوکسی
- latest.jsonمانیفست بهروزرسانی
- CHANGELOG.mdتغییرات
- D/۰۵
افزونهی مرورگر
افزونه سرویس شما را داخل مرورگری میبرد که کاربرانتان همین حالا باز کردهاند. آن را یک بار بر پایهی استاندارد WebExtensions میسازیم، فقط دسترسیهایی را که واقعاً لازم دارد میخواهیم و از بازبینی هر فروشگاه عبورش میدهیم، همان جایی که بیشتر افزونهها گیر میکنند.
شامل
- یک کدبیس برای همهی مرورگرهای اصلی
- کمترین دسترسی ممکن، توضیحدادهشده در صفحهی معرفی
- صفحهی معرفی، تصاویر و جزئیات حریم خصوصی در فروشگاهها
- انتشار همزمان بهروزرسانیها در همهی فروشگاهها
extension · store status · v1.3.0 - Chrome Web Storeمنتشرشده
- Firefox Add-onsمنتشرشده
- Microsoft Edge Add-onsدر بازبینی · روز ۲
- سافاری، از طریق App Storeدر بازبینی
- Opera add-onsمنتشرشده
- دسترسیها محدود به storage و example.comحداقلی
- D/۰۶
انتشار در فروشگاهها
صفحههای معرفی را آماده میکنیم، بیلدها را امضا میکنیم و هر نسخه را از بازبینی فروشگاهها عبور میدهیم. نسخهی تازه اول به بخش کوچکی از کاربران میرسد و پیش از انتشار برای همه گزارشهای کرش را بررسی میکنیم، تا یک بیلد خراب فقط به چند نفر برسد، نه به همه.
شامل
- صفحهی معرفی، تصاویر و یادداشت انتشار
- کلیدهای امضا در حسابهای خود شما
- انتشار مرحلهای همراه با پایش کرش
- چکلیست انتشاری که تیمتان بتواند تکرارش کند
release · 2.4.0 روز ۱
بیلدها امضا و بارگذاری شدند
→ کافهبازار، مایکت، اپاستور و گوگلپلی
روز ۲
تست داخلی
→ TestFlight و مسیر تست داخلی گوگلپلی
روز ۳
بازبینی فروشگاهها
→ تأیید در همهی فروشگاهها
روز ۴
انتشار مرحلهای
→ ۱۰٪ کاربران، ۹۹٫۸٪ بدون کرش
روز ۷
انتشار کامل
→ همهی کاربران، با یادداشت انتشار
- ۰۱
انتخاب فناوری
Native، چندسکویی یا وب — انتخابشده برای کاربران و تیم شما، نه برای مُد.
- ۰۲
نمونهی اولیه
جریانهای قابل کلیک روی دستگاه واقعی، پیش از شروع ساخت کامل.
- ۰۳
ساخت و تست
تست خودکار و تست روی دستگاههایی که کاربرانتان واقعاً دارند.
- ۰۴
انتشار و بهروزرسانی
ارسال به فروشگاهها، انتشار مرحلهای و گزارش کرش از روز اول.
نسخهی اول معمولاً بسته به پلتفرمها و اینکه چه مقدار باید بدون اینترنت کار کند، ده تا شانزده هفته طول میکشد. از همان هفتههای اول یک نسخهی کارا روی گوشی خودتان دارید و بعد از آن هر هفته یک نسخهی تازه.
- هفتهی ۱ و ۲
نیازمندیها و انتخاب فناوری، و بعد نمونهی اولیهی قابل کلیک روی دستگاه واقعی.
- هفتهی ۳ و ۴
پایهها: ورود کاربر، پایگاه دادهی محلی، همگامسازی و پایپلاین ساخت.
- هفتهی ۵ تا ۱۱
قابلیتها، صفحه به صفحه، با یک نسخهی آزمایشی در دست شما در هر هفته.
- هفتهی ۱۲ تا ۱۴
تست روی دستگاههایی که کاربرانتان دارند، صفحههای معرفی فروشگاه و آزمایش با کاربران بتا.
- هفتهی ۱۵ و ۱۶
بازبینی فروشگاهها و انتشار مرحلهای، با بررسی گزارشهای کرش پیش از انتشار برای همه.
کد منبع
همهی اپلیکیشنها و افزونهها در مخزن کد شما، با راهنمای ساختشان از صفر.
حسابهای فروشگاه و کلیدهای امضا
منتشرشده با حسابهای توسعهدهندهی خود شما، با کلیدهایی که جایی در دسترس تیمتان نگهداری میشوند.
فایلهای طراحی و نمونهی اولیه
همهی صفحهها و جریانها، آماده برای قابلیت بعدی یا پلتفرم تازه.
پایپلاین ساخت و انتشار
یک دستور، یا یک کلیک، برای ساخت، امضا و بارگذاری نسخهی تازه.
گزارش کرش و آنالیتیکس
داشبورد کرشها، نسخههای در حال استفاده و جریانهای اصلی، در حسابهای خود شما.
یک بررسی پس از اولین انتشار
چند هفته بعد نرخ کرش، امتیاز و نظرهای فروشگاهها را بررسی و آنچه پیدا شد را درست میکنیم.
- Swift / SwiftUI
- Kotlin / Compose
- Flutter
- React Native
- Tauri
- Electron
- WebExtensions
- SQLite
Native یا چندسکویی؟
به کاری که اپلیکیشن انجام میدهد بستگی دارد. پس از جلسهی مشاوره یکی را پیشنهاد میدهیم و دلیلش را میگوییم.
در فروشگاههای ایرانی هم منتشر میکنید؟
بله — کافهبازار، مایکت و سیباپ، در کنار اپاستور و گوگلپلی.
پس از انتشار، نگهداری با کیست؟
میتوانیم خودمان انجام دهیم، یا با مستندات و پایپلاین ساختی که تیمتان اجرا کند تحویل بدهیم.
چقدر طول میکشد تا در فروشگاهها منتشر شود؟
برای بیشتر نسخههای اول ده تا شانزده هفته. بازبینی فروشگاهها معمولاً چند روز اضافه میکند، پس از همان اول برایش برنامه میریزیم.
اپلیکیشن و حسابهای فروشگاه مال خودمان است؟
بله. اپ با حسابهای توسعهدهندهی شما منتشر میشود و کلیدهای امضا مال شماست. ما بهعنوان عضو دعوتشده در حسابهایتان کار میکنیم و هر وقت بخواهید کنار میرویم.
بگویید چه چیزی میسازید.
هر پروژه با یک جلسهی مشاوره شروع میشود: شما ایده و هر آنچه میدانید را میآورید، ما آن را به طرحی تبدیل میکنیم که بشود رویش ساخت.
رزرو مشاوره