ما هو التكديس التقني الذي تم بناء Ideanote عليه؟

نستخدم Google Cloud Platform مزودًا للبنية التحتية لدينا. تتألف طبقة التطبيق من بنية قائمة على الخدمات المصغّرة، وتعتمد على Kubernetes، مع إمكانية التوسّع التلقائي المرن وفقًا لحجم الحمل. نقدّم ملفاتنا الثابتة عبر شبكات توصيل المحتوى، ونخزّن المرفقات التي يقدّمها المستخدمون في Google Cloud Storage. نظام إدارة قواعد البيانات لدينا هو PostgreSQL، ونستخدم Redis أيضًا للتواصل بين وحدات البود، وللتخزين المؤقت البسيط.

نستخدم TypeScript لغةَ البرمجة المفضلة لكلٍّ من خدماتنا الخلفية والأمامية، وتشترك هذه الخدمات في المنطق والأدوات المساعدة، وتوجد جميعها ضمن مستودع موحّد. وقد بنينا في خدماتنا الخلفية، بما فيها API، بنية خادم مخصصة تدعم كلاً من API داخلي قائم على GraphQL وواجهة REST-API عامة. ونعتمد إلى حد كبير على مبادئ عكس التحكم، كما نقسم خدماتنا الخلفية منطقياً إلى أنظمة فرعية تشمل واجهات API ومنطق الأعمال وطبقة التخزين والخدمات المساعدة.

في الواجهة الأمامية، نستخدم تقنيات ويب حديثة جداً، ونستخدم العناصر المخصصة (Custom Elements) و Shadow DOM كنموذج تغليف خاص بنا. فيما يتعلق بكيفية تكامل خدماتنا مع الخدمات الخارجية، يمكننا تقديم رسم بياني يوضح هذه الأنظمة على مستوى عالٍ لعملاء المؤسسات.