ما هو التكديس التقني الذي تم بناء Ideanote عليه؟
نستخدم منصة جوجل السحابية كمزود للبنية التحتية لدينا. طبقة التطبيق هي بنية معمارية للخدمات المصغرة تعتمد على كوبيرنيتس، مع تحجيم تلقائي مرن يعتمد على الحمل. نخدم ملفاتنا الثابتة عبر شبكات توصيل المحتوى، ونخزن المرفقات المقدمة من المستخدمين في تخزين جوجل السحابي. نظام إدارة قواعد البيانات لدينا هو PostgreSQL، ونستخدم Redis أيضاً للتواصل عبر الكبسولات (Pods)، وكذلك للتخزين المؤقت البسيط.
نستخدم TypeScript كلغة البرمجة المفضلة لكل من خدمات الواجهة الخلفية والواجهة الأمامية لدينا، وتتشارك كل منها المنطق والمساعدين المشتركين وتوجد ضمن مستودع أحادي. في خدمات الواجهة الخلفية لدينا، بما في ذلك واجهة برمجة التطبيقات الخاصة بنا، قمنا ببناء بنية خادم مخصصة تدعم كلاً من واجهة برمجة تطبيقات داخلية قائمة على GraphQL، بالإضافة إلى واجهة برمجة تطبيقات REST لواجهة برمجة التطبيقات العامة لدينا. نعتمد بشكل كبير على مبادئ عكس التحكم (Inversion of Control)، وخدمات الواجهة الخلفية لدينا مقسمة منطقياً إلى أنظمة فرعية حول واجهة برمجة التطبيقات الخاصة بها، ومنطق الأعمال، وطبقة المتجر، وخدمات المساعدة.
في الواجهة الأمامية، نستخدم تقنيات ويب حديثة جداً، ونستخدم العناصر المخصصة (Custom Elements) و Shadow DOM كنموذج تغليف خاص بنا. فيما يتعلق بكيفية تكامل خدماتنا مع الخدمات الخارجية، يمكننا تقديم رسم بياني يوضح هذه الأنظمة على مستوى عالٍ لعملاء المؤسسات.