منصوبے کے بارے میں

Google Calendar Sync ایک خود-میزبان خدمت ہے جو منزل کے کیلنڈر کو ماخذ کیلنڈر کی پیش کش کے طور پر ہم وقت رکھتی ہے۔ ہر قاعدہ بالکل ایک ماخذ کیلنڈر کا مشاہدہ کرتا ہے اور بالکل ایک منزل کیلنڈر کا انتظام کرتا ہے، اور ماخذ اور منزل مختلف Google شناختوں سے تعلق رکھ سکتے ہیں۔ یہ پروجیکٹ واضح طور پر pre-alpha کے طور پر نشان زد ہے: فن تعمیر، ہم وقت سازی کا انجن، تصدیق شدہ API، Google اڈاپٹر اور Web UI ایک کام کرنے والا پہلا عمودی ٹکڑا تشکیل دیتے ہیں، لیکن لائیو اکاؤنٹ کی برداشت کی جانچ اور پیداوار کے لیے تیاری کا جائزہ مکمل نہیں ہیں، اس لیے ٹیسٹ کیلنڈرز اور بیک اپ کی سفارش کی جاتی ہے۔ README میں بیان کردہ اہم ڈیزائن نکات: - سمتی قواعد: ایک ماخذ، ایک منزل، ماخذ کے طور پر مستند رویے کے ساتھ۔ منزل کی ترامیم، غائب پیشکشیں اور ماخذ کی منسوخیاں ہم وقت سازی اور مفاہمت کے دوران ٹھیک کی جاتی ہیں۔ - رازداری کے طے شدہ اصول: نئے قواعد بطور ڈیفالٹ Busy پیش کش رکھتے ہیں؛ تفصیل کی نقل اختیاری ہے اور کبھی شرکاء، منتظم کی شناخت، کانفرنسنگ ڈیٹا، منسلکات یا دعوت نامے نقل نہیں کرتی۔ - محفوظ فعال کاری: کسی قاعدے کو فعال کرنے سے پہلے اسے بغیر ضمنی اثرات کے پیش نظارے سے گزرنا ضروری ہے۔ - خود-محتوی تعیناتی: SQLite، شیڈولنگ، API اور Web UI ایک ہلکی پھلکی خدمت کے طور پر چلتے ہیں، جو linux/amd64 اور linux/arm64 کے لیے Docker امیج اور Compose سروس کے طور پر بھیجی جاتی ہے۔ - کوئی ٹیلی میٹری نہیں: ایک فعال تنصیب صرف ہم وقت سازی کے لیے درکار Google APIs اور آپریٹر کے ترتیب کردہ کسی بھی اطلاعی اینڈ پوائنٹ سے رابطہ کرتی ہے۔ درج صلاحیتوں میں وقت والی اور سارا دن کی تقریبات، بار بار ہونے والی سیریز، واحد وقوعہ کی تبدیلیاں اور منسوخیاں؛ صرف مصروفیت یا تفصیل کی نقل کی پالیسیاں فی قاعدہ سارا دن شامل کرنے کے ساتھ؛ ہر پانچ منٹ بعد بڑھتی ہوئی پولنگ کے علاوہ دستی Sync Now؛ روزانہ مکمل مفاہمت کا مرحلہ کے علاوہ Reconcile Now بہاؤ کی رپورٹنگ کے ساتھ؛ نجی managed-origin میٹا ڈیٹا کے ذریعے لوپ کی روک تھام؛ مستحکم آپریشن کیز، cursor-last استقامت، دوبارہ کوشش کا بیک آف اور الگ تھلگ قاعدہ کی ناکامیاں؛ ڈیڈپلیکیشن کے ساتھ تصدیق شدہ Activity منظر اور اختیاری SMTP یا webhook واقعہ کی ترسیل؛ ایک مقامی منتظم کا پاس ورڈ خفیہ کردہ Google OAuth اسناد کے ساتھ؛ اور ہلکی/گہری تھیمیں شامل ہیں۔ سیٹ اپ کے لیے Google Cloud پروجیکٹ درکار ہے جس میں Calendar API فعال ہو، ایک OAuth 2.0 Web application کلائنٹ، اور عین ری ڈائریکٹ URI http://localhost:8000/api/v1/oauth/google/callback۔ مقامی راز .env فائل کے ذریعے ترتیب دیے جاتے ہیں، جس میں 256-bit ماسٹر کلید شامل ہے جو محفوظ Google اسناد کو AES-256-GCM سے خفیہ کرتی ہے۔ README نوٹ کرتا ہے کہ ماسٹر کلید کھو دینے سے منسلک اکاؤنٹ کی اسناد ناقابلِ مطالعہ ہو جاتی ہیں، اور LAN-میزبان تعیناتیوں کو خصوصی ہینڈلنگ درکار ہے کیونکہ Google localhost کے علاوہ سادہ-HTTP ری ڈائریکٹ URIs کو مسترد کرتا ہے۔ ہم وقت سازی کا رویہ: پہلا رن ماخذ کی ان تقریبات کو پڑھتا ہے جو رن سے 30 دن پہلے سے پہلے ختم نہیں ہوتیں، منزل کا مشاہدہ کرتا ہے، اور دونوں اینڈ پوائنٹس کے لیے Google کے بڑھتے ہوئے ٹوکنز ریکارڈ کرتا ہے۔ بعد کے رن دونوں تبدیلی فیڈز استعمال کرتے ہیں، اس لیے صرف منزل کی ترامیم یا حذف مکمل دوبارہ اسکین کے بغیر ٹھیک کیے جاتے ہیں۔ ہر متعلقہ ماخذ تقریب کے لیے ڈومین Create، Update، Delete، Ignore یا Conflict کا انتخاب کرتا ہے؛ مبہم شناخت یا ملکیت کا اندازہ نہیں لگایا جاتا۔ کرسرز صرف اس وقت آگے بڑھتے ہیں جب ایک بیچ مکمل طور پر کامیاب ہو، اور فراہم کنندہ کی تحریریں مستحکم آپریشن کیز رکھتی ہیں تاکہ دوبارہ کوششیں پیشکشوں کو نقل نہ کریں۔ رازداری اور سلامتی کے نوٹس: تقریب کے عنوانات، تفصیلات اور مقامات میموری میں کارروائی کیے جاتے ہیں اور SQLite یا آڈٹ اندراجات میں محفوظ نہیں ہوتے؛ میپنگز فراہم کنندہ IDs، نظرثانی اور ایک ناقابلِ الٹ فنگر پرنٹ برقرار رکھتی ہیں؛ اکاؤنٹ منقطع کرنے سے محفوظ اسناد ضائع ہو جاتی ہیں بغیر قواعد، میپنگز یا منظم پیشکشوں کو حذف کیے؛ Google تحریریں sendUpdates=none استعمال کرتی ہیں؛ Web UI اور آپریشنل API کو مقامی منتظم سیشن درکار ہے، جبکہ /health عوامی اور کم سے کم رہتا ہے۔ فن تعمیر ایک ماڈیولر مونولیتھ ہے جس میں ports-and-adapters کی حدود ہیں؛ ہم وقت سازی کے ڈومین میں FastAPI، SQLite، Google SDK، React، OAuth یا Docker کا کوئی انحصار نہیں۔ بیک اینڈ کی ترقی Python 3.12 اور FastAPI استعمال کرتی ہے، فرنٹ اینڈ Node.js 22+، React، TypeScript، Vite اور Tailwind CSS استعمال کرتا ہے۔ معیار کی جانچ میں ruff، mypy، pytest 80% کوریج کی کم از کم حد کے ساتھ، فرنٹ اینڈ typecheck/lint/test/build، اور کثیر المنصہ Docker بلڈز شامل ہیں۔ Google Calendar ابتدائی ریلیز میں واحد فراہم کنندہ ہے؛ Outlook اور CalDAV کو تعمیراتی امکانات کے طور پر بیان کیا گیا ہے، معاون خصوصیات کے طور پر نہیں۔ یہ پروجیکٹ MIT لائسنس کے تحت ورژن 0.1.0 کو ہدف بناتا ہے۔