تطبيق توضيح تجار التجزئة Jimco هو مجموعة من أربعة تطبيقات ويب ذات صلة. يتكون من الأجزاء التالية:
يتم استضافة جميع مواقع الويب الأربعة على Microsoft Azure. يتم استضافة مستودعات التعليمات البرمجية على Github (انظر أدناه للحصول على روابط للمستودعات الفردية ، أو انقر هنا لرؤيتها جميعًا) ، ويتم معالجة CI/CD بواسطة Microsoft Azure DevOps.
مستودع هنا
واجهة برمجة التطبيقات هي النهاية الخلفية لمواقع الويب الثلاثة الأمامية. تمت كتابته في الإصدار 10 C# باستخدام ASP.NET Core / .NET Core الإصدار 6. يتم أرسيته في نهج متعدد الطبقات كما هو موضح أدناه:
| اسم الطبقة | وظيفة | يكتب |
|---|---|---|
| الوصول إلى البيانات | طبقة المستودع التي تتولى الوصول إلى قاعدة البيانات | مكتبة الفصل |
| خدمات | طبقة منطق العمل التي تقع بين طبقات الوصول إلى البيانات وطبقة البيانات | مكتبة الفصل |
| API | واجهة برمجة التطبيقات التي تواجه الويب باستخدام الحد الأدنى من نقاط النهاية | واجهة برمجة تطبيقات الويب |
| النماذج | نماذج DTO المشتركة بين طبقات API وطبقات الخدمات | مكتبة الفصل |
| شائع | الفئات الشائعة ، والسمات ، والتعداد ، وطرق التمديد ، وما إلى ذلك | مكتبة الفصل |
بالإضافة إلى ما سبق ، يستخدم API Dapper للوصول إلى قاعدة بيانات Microsoft SQL / Azure SQL.
مستودع هنا
موقع البيع بالتجزئة مكتوب في TypeScript باستخدام وظائف / خطافات React ، الإصدار 18 React و React Router الإصدار 6.3 . يستجيب وصولاً إلى 375 بكسل. لا يستخدم حاليًا أي تفويض أو مصادقة (على الرغم من أن هذا قد يتغير).
مستودع هنا
تتم كتابة بوابة الموظف في TypeScript باستخدام وظائف / Hooks React ، الإصدار 18 React و React Router الإصدار 6.3 . إنه مصمم خصيصًا للاستخدام داخل المتجر على الأجهزة اللوحية أو أجهزة الكمبيوتر المكتبية ، وبالتالي فهو مصمم لحجم شاشة لا يقل عن 1024 × 768 بكسل. يستخدم Auth0 للترخيص ، ويتم استخدام قاعدة البيانات الداخلية للمصادقة القائمة على الأدوار.
مستودع هنا
تتم كتابة بوابة البائع في TypeScript باستخدام وظائف / خطافات React ، الإصدار 18 React و React Router الإصدار 6.3 . إنه مصمم خصيصًا لأجهزة الكمبيوتر المكتبية ، وبالتالي تم تصميمه للحصول على الحد الأدنى من دقة الشاشة 1024 × 768 بكسل. يتم استخدام Auth0 للمصادقة ، ويتم استخدام قاعدة البيانات الداخلية للترخيص القائم على الأدوار.
من أجل واجهة برمجة التطبيقات:
لمواقع الويب ، حزم NPM التالية: