تعلم كيفية بناء واجهة خلفية قابلة للتطوير باستخدام الذكاء الاصطناعي
الواجهة الخلفية “القابلة للتطوير” هي الواجهة الخلفية التي يمكنها التعامل مع زيادة الحمل دون انخفاض كبير في الأداء.
يتضمن بناء خلفية خلفية قابلة للتطوير عدة عمليات واعتبارات، مثل تصميم قاعدة البيانات واستراتيجية النشر.
في هذه المقالة، سوف تتعلم كيفية بناء خلفية قابلة للتطوير بمساعدة الذكاء الاصطناعي (AI).
Contents
ما الذي يجعل الواجهة الخلفية قابلة للتطوير؟
تعمل العوامل المختلفة التي يتم تنفيذها خلال دورة حياة تطوير البرمجيات معًا لجعل الواجهة الخلفية قابلة للتطوير.
أحد العوامل التي تساهم في قابلية التوسع في الواجهة الخلفية هو سرعة استعلامات قاعدة البيانات.
تزيد الاستعلامات البطيئة من وقت استجابة خادمك وتؤثر على قدرته على معالجة طلبات متعددة في وقت واحد.
يمكنك جعل استعلاماتك أسرع من خلال تنفيذ تصميم مخطط مناسب وكتابة استعلامات فعالة.
المعالجة غير المتزامنة هي عامل آخر يمكن أن يجعل الواجهة الخلفية قابلة للتطوير. يمكن أن تؤدي المهام كثيفة الاستخدام للموارد إلى حظر سلاسل التنفيذ والحد من قدرة الخادم على معالجة الطلبات المتزامنة.
يمكنك حل هذه المشكلة عن طريق تفويض المهام كثيفة الاستخدام للموارد مثل العمليات الحسابية الكبيرة وتحميل الملفات إلى مهام الخلفية.
عامل آخر هو استراتيجية النشر الخاصة بك. يجب عليك نشر الواجهة الخلفية الخاصة بك باستخدام استراتيجية نشر قابلة للتطوير عبر خدمات مثل Back4app.
على سبيل المثال، يتم تشغيل الحاويات الجديدة تلقائياً مع زيادة حركة المرور، وتوزيع الحمل على عدة مثيلات دون تدخل يدوي.
وبالمثل، يتقلص النظام مع انخفاض الطلب، مما يؤدي إلى تحرير الموارد غير المستخدمة.
في هذا البرنامج التعليمي، ستقوم في هذا البرنامج التعليمي ببناء تطبيق لإدارة بيوت الكلاب ينفذ جميع العوامل المذكورة أعلاه لجعله قابلاً للتطوير.
تصميم واجهة خلفية قابلة للتطوير باستخدام الذكاء الاصطناعي
كما ذكرنا أعلاه، ستقوم بإنشاء تطبيق لإدارة بيوت الكلاب. فيما يلي متطلبات التطبيق:
- سيسمح طلبك للمالكين بتسجيل كلابهم في بيت الكلاب الخاص بك.
- عندما يقوم المالك بتسجيل كلبه في بيت الكلاب الخاص بك، سيقوم تطبيقك بتخزين تفاصيل عن الكلب، مثل اسمه وسلالته وعمره واسم المالك وصورته. بعد ذلك، سيقوم التطبيق بإنشاء رمز فريد للمالك.
- الرمز الفريد الذي يتلقاه المالك هو الطريقة الوحيدة لاسترداد كلبه من بيت الكلاب في نهاية الزيارة.
- أثناء زيارة بيت الكلاب، ستقوم بتتبع جميع الأنشطة التي شارك فيها الكلب أثناء زيارته لبيت الكلاب. سيشمل هذا البرنامج التعليمي الأكل والدواء والعناية الشخصية فقط.
- في نهاية الزيارة، سيقدم المالك الرمز الفريد الذي حصل عليه عند تسجيل الوصول ويستعيد كلبه (كلابهم).
تتمثل الخطوة الأولى في تحقيق المتطلبات المذكورة أعلاه في تصميم قاعدة بيانات موحدة مع القليل من التكرار في البيانات أو عدم وجود تكرار في البيانات.
ستصمم مخطط قاعدة البيانات هذا وتنشئه بمساعدة وكيل الذكاء الاصطناعي Back4app الذي سيعمل كمولد خلفية للذكاء الاصطناعي.
وكيل الذكاء الاصطناعي Back4app
وكيل الذكاء الاصطناعي Back4app AI Agent هو عبارة عن جهاز LLM يتفاعل مع منتجات Back4app ومنصة Back4app الخلفية ومنصة نشر الويب.
يتيح لك التفاعل مع هذه المنتجات باستخدام المطالبات وسيساعدك على إنشاء واجهة خلفية قابلة للتطوير باستخدام الذكاء الاصطناعي.
للوصول إلى وكيل الذكاء الاصطناعي، تحتاج إلى حساب Back4app. إذا لم يكن لديك حساب، يمكنك التسجيل مجاناً.
قم بتسجيل الدخول إلى حساب Back4app الخاص بك وانقر على رابط “وكيل الذكاء الاصطناعي” على شريط التنقل في لوحة التحكم.
سيؤدي النقر على الرابط إلى نقلك إلى صفحة وكيل الذكاء الاصطناعي، كما هو موضح في الصورة أدناه.
يمكنك إدخال مطالبات مختلفة في هذه الصفحة، مثل مطالبة بإنشاء تطبيق BaaS جديد على حساب Back4app الخاص بك.
بناء واجهة خلفية مع الذكاء الاصطناعي
لإنشاء تطبيق خلفي جديد على Back4app، يمكنك إدخال المطالبة أدناه أو شيء مشابه في وكيل الذكاء الاصطناعي.
- Create a new backend application called "Kennel Management Backend"
يجب أن تتلقى رداً يفيد بأن التطبيق قد تم إنشاؤه بنجاح.
يمكنك عرض التطبيق الذي تم إنشاؤه على لوحة تحكم Back4app، كما هو موضح في الصورة أدناه.
كما هو موضح في الصورة أعلاه، تكون قاعدة البيانات في تطبيق الواجهة الخلفية الجديد فارغة باستثناء فئتي _المستخدم
و _الدور
الافتراضيتين.
بعد ذلك، ستصمم مخطط قاعدة البيانات وتضيفه إلى تطبيق الواجهة الخلفية.
تصميم قاعدة البيانات الخاصة بك
لتصميم مخطط قاعدة بيانات موحد لمت طلبات تطبيقك أعلاه، أدخل المطالبة أدناه أو شيء مشابه في وكيل الذكاء الاصطناعي.
- Design a normalized database schema for a dog kennel management application.
- The app stores dog details: name, breed, age, a unique owner username, owner contact details, and an image;
- When an owner checks in and generates a unique code for the owner to retrieve the dog.
- It tracks activities during the visit (eating, medication, grooming).
The owner provides the unique code to retrieve their dog at the end of the visit.
- Ensure relationships between entities like dogs, owners, visits, activities, and the retrieval code are properly structured.
يجب أن تُرجع المطالبة أعلاه مخطط قاعدة بيانات مشابه للمخطط الموضح أدناه.
يحتوي مخطط قاعدة البيانات أعلاه على أربعة جداول: المالكون والكلاب والزيارات والأنشطة. يمكن أن يكون للمالك عدة كلاب (من كلب إلى عدة كلاب)، لكن كل كلب ينتمي إلى مالك واحد فقط، مرتبط من خلال مفتاح أجنبي في جدول الكلاب
.
وبالمثل، يمكن أن يكون للكلب زيارات متعددة (من كلب إلى عدة كلاب) على مدار الوقت، كل منها خاص بهذا الكلب ويتم تتبعها في جدول الزيارات
عبر مفتاح خارجي.
بالإضافة إلى ذلك، يمكن أن تتضمن كل زيارة عدة أنشطة (من واحد إلى عدة أنشطة)، مثل التغذية أو الاستمالة أو الأدوية، وكل منها مرتبط بزيارة محددة من خلال المفتاح الأجنبي للزيارة_id
في جدول الأنشطة
.
والآن بعد أن أصبح لديك تصميم قاعدة البيانات الخاصة بك، ستطلب من الذكاء الاصطناعي إنشاء قاعدة البيانات في الواجهة الخلفية باستخدام مطالبة مشابهة لتلك الواردة أدناه.
- Create the designed database in the backend app "Kennel Management Backend".
يجب أن تتلقى ردًا يفيد بأن قاعدة البيانات قد تم إنشاؤها بنجاح. يمكنك التأكد من ذلك من خلال التحقق من لوحة تحكم التطبيق الخاص بك للجداول التي تم إنشاؤها حديثًا، كما هو موضح في الصورة أدناه.
الآن بعد أن قمت بإنشاء الواجهة الخلفية الخاصة بك وإضافة جداول قاعدة بيانات التطبيق الخاص بك، ستقوم بتنفيذ منطق التطبيق.
تنفيذ منطق الواجهة الخلفية باستخدام الذكاء الاصطناعي
من متطلبات التطبيق، يجب أن يمكّن التطبيق أصحاب الكلاب من تسجيل كلابهم في بيت الكلاب، وتخزين التفاصيل مثل اسم الكلب وسلالته وعمره واسم المالك وصورته، وإنشاء رمز استرجاع فريد للمالك.
ولتنفيذ هذه المتطلبات، تحتاج إلى دالة مساعدة تُنشئ رمز استرجاع فريد من نوعه وأخرى تقوم بتحميل صورة الكلب في الخلفية لضمان عدم إبطاء مهمة التحميل من وقت استجابة تطبيقك.
تنفيذ وظائف المنفعة
يمكنك إنشاء دالة مساعدة تُنشئ رمزًا فريدًا عن طريق تلقيم المطالبة أدناه أو شيء مشابه إلى وكيل الذكاء الاصطناعي:
- Create a utility cloud code function in the "Kennel Management Backend" app that generates a unique retrieval code for the dogs checked into the kennel.
-Store the code in a `utils.js` file and make the file accessible to the entire application.
يجب أن تتلقى ردًا يفيد بأن دالة الرمز السحابي قد تم إنشاؤها، على غرار الرد في الصورة أدناه.
بعد ذلك، قم بإنشاء الدالة التي تقوم بتحميل صورة الكلب وربطها بسجل الكلب المقابل عن طريق تلقيم المطالبة أدناه أو شيء مشابه إلى وكيل الذكاء الاصطناعي:
- Create an asynchronous utility Cloud Code function named `uploadDogImage` that accepts three parameters: `dogName`, `dogImage`, and `dogId`.
- The function should upload the `dogImage`, using `dogName` as the image name, and ensure that the image is properly associated with the corresponding dog record identified by `dogId`.
- Implement error handling to manage any issues during the upload process and confirm the association with the dog record.
- Add the `utils.js` file and make it accessible to the entire application.
تضمن المطالبة أعلاه تحميل صورة الكلب بشكل صحيح وربطها بسجل الكلب الصحيح مع معالجة الأخطاء المحتملة.
يجب أن تتلقى ردًا يفيد بأن الدالة تم إنشاؤها بنجاح.
تم تنفيذ دالتي الأداة المساعدة في ملف utils.js
للحفاظ على نمطية الشيفرة. والآن، لديك الدالتان المساعدة اللازمتان لتنفيذ خاصية تسجيل الدخول لتطبيقك.
تنفيذ ميزة تسجيل الوصول
لتنفيذ ميزة تسجيل الدخول للتطبيق الخاص بك، تحتاج إلى اسم الكلب وعمره وسلالته وصورته واسم المستخدم الخاص بالمالك.
بعد ذلك، تحتاج إلى إنشاء رمز استرجاع للمالك، وتسجيل الزيارة، وتحميل صورة الكلب (في الخلفية)، وإعادة الرمز إلى المالك.
يمكنك إضافة المنطق أعلاه إلى تطبيق الواجهة الخلفية الخاص بك عن طريق تغذية المطالبة أدناه أو شيء مشابه إلى وكيل الذكاء الاصطناعي:
- Create an asynchronous Cloud Code function named `checkIn` in a `main.js` file that accepts five parameters from a request body: `dogName` (String), `dogAge` (Number), `dogBreed` (String), `ownerUsername`(String), and `dogImage` (File).
- The function should first validate and sanitize each input to ensure they conform to expected types and formats.
- It should then search for an owner in the `owner` table using `ownerUsername` and create a new owner record if none exists. Next, the function should create a new record in the `dogs` table with the provided `dogName`, `dogBreed`, `dogAge`, and the corresponding `ownerId`.
- After that, it should call the `generateRetrievalCode` utility function to create a unique retrieval code.
- The function must also use the `uploadImage` utility to upload `dogImage`, running this process in the background without awaiting the return value.
- Finally, it should create a record in the `visits` table that includes relevant details such as the `ownerId`, `dogId`, and the generated retrieval code, and return a success message along with the retrieval code to the user.
- Ensure error handling is implemented for database operations and input validation, returning appropriate error messages where necessary.
يجب أن تتلقى استجابة تشير إلى أنه تم إنشاء الدالة بنجاح.
يمكنك مراجعة التعليمات البرمجية التي أنشأها وكيل الذكاء الاصطناعي وتعديلها إذا لزم الأمر على لوحة تحكم التطبيق ← الرمز السحابي، كما هو موضح في الصورة أدناه.
الآن، يمكنك تسجيل دخول كلاب جديدة إلى بيت الكلاب الخاص بك. بعد ذلك، ستقوم بتنفيذ ميزة تسجيل النشاط.
تنفيذ ميزة تسجيل النشاط
بناءً على متطلبات الطلب، يجب أن يتتبع طلبك جميع الأنشطة التي شارك فيها الكلب أثناء الزيارة.
لتنفيذ ميزة نشاط السجل، تحتاج إلى جلب سجل الزيارة وإنشاء نشاط جديد بالمعلومات المطلوبة.
يمكنك إضافة المنطق أعلاه إلى تطبيق الواجهة الخلفية الخاص بك عن طريق تغذية المطالبة أدناه أو شيء مشابه إلى وكيل الذكاء الاصطناعي:
- Create an asynchronous function called `recordActivity` that accepts three parameters from a request body: `visitId`, `type`, and `description`.
- It should first check if a visit with the specified `visitId` exists in the database.
- If the visit is not found, return an appropriate error message.
- If the visit exists, the function should create a new activity record with the visitId, type, and description, set the time to the current date,
and return a success message, after a successful creation.
- Ensure error handling is implemented for database operations and input validation, returning appropriate error messages where necessary.
يمكنك التحقق من لوحة التحكم للتأكد من تنفيذ هذه الوظيفة بشكل صحيح وإجراء أي تغييرات إذا لزم الأمر.
تنفيذ ميزة الدفع عند الخروج
لتنفيذ ميزة تسجيل الخروج، تحتاج إلى جلب سجل الزيارة باستخدام رمز الاسترجاع،
وتضمين تفاصيل الكلب والمالك ذات الصلة، وتحديث وقت تسجيل الخروج،
وإرجاع استجابة بمعلومات الكلب والمالك، بالإضافة إلى أوقات تسجيل الدخول والخروج للزيارة.
يمكنك إضافة المنطق أعلاه إلى تطبيق الواجهة الخلفية الخاص بك عن طريق تغذية المطالبة أدناه أو شيء مشابه إلى وكيل الذكاء الاصطناعي:
- Create an asynchronous cloud code function called `checkOut` that retrieves dog and visit details based on a `retrieval_code` extracted from the request body.
- The function should fetch the corresponding visit record in the `Visit` table and include related dog details from the `Dog` table and the `Owner` table.
- The function should select specific dog attributes such as `name`, `breed`, `age` and image.
- If no visit is found, return a message indicating that the `retrieval_code` is invalid.
- Upon successfully finding the visit, the function should update the `check_out_time` to the current date and save the updated visit record.
- Finally, structure a response that includes the dog's information
along with its owner details, as well as the visit's `check_in_time` and `check_out_time`.
- Implement error handling to catch and log any issues during the process,
returning a relevant error message in case of failure.
يمكنك مراجعة التعليمات البرمجية التي أنشأها وكيل الذكاء الاصطناعي على لوحة تحكم التطبيق الخاص بك ← الرمز السحابي ← main.js
.
مع تنفيذ ميزة الخروج بالكامل، تكون قد أكملت متطلبات التطبيق لتطبيق بسيط لإدارة بيوت الكلاب.
الخاتمة
في هذه المقالة، يمكنك إنشاء تطبيق لإدارة بيوت الكلاب قابل للتطوير يدعم عمليات تسجيل الدخول، ويتتبع أنشطة الكلاب أثناء الزيارات، ويسمح للمالكين باسترداد كلابهم في نهاية الزيارة باستخدام الذكاء الاصطناعي.
ولتحسين قدرة تطبيقك على التوسع، صممت قاعدة بيانات عادية لضمان عدم بطء استفساراتك.
لقد فوضت أيضًا المهام طويلة الأمد مثل تحميل صورة الكلب إلى دالة تعمل في الخلفية وقسمت الشيفرة إلى ملفات لتسهيل صيانتها.
بعد اكتمال الواجهة الخلفية الخاصة بك، يمكنك توصيلها بواجهة مستخدم مبنية بمكتبة واجهة أمامية مثل React أو Svelte أو Vue ونشرها باستخدام Docker في منصات مثل منصة نشر الويب Back4app.