مشروع Backend API للأفلام
واجهة Express API للأفلام مع مصادقة وأفلام ومراجعات وقوائم مشاهدة وتحقق ومسارات مدعومة بقاعدة بيانات.
عارض صور المشروع

صورة 1 من 3
فكرة المشروع
واجهة برمجية (API) لكتالوج أفلام — تسجيل ودخول، كتالوج أفلام للقراءة العامة والتعديل بصلاحية مدير فقط، تقييمات وتعليقات لكل فيلم، وقوائم مشاهدة شخصية. مفيش واجهة أمامية تقليدية — الاستكشاف البصري بيتم عبر Swagger UI مدمجة.
ما الذي تعرضه الواجهة
نظرة عامة على مستكشف الـAPI (Swagger) بكل المجموعات (المصادقة، الأفلام، التقييمات، قوائم المشاهدة)، نقطة تسجيل موسّعة، وطلب تسجيل حقيقي مُنفَّذ مع الرد الفعلي من الخادم.
دوري وقراراتي
أول اكتشاف مهم كان ملف movies.sqlite متتبَّع في الريبو وفيه هاشات
كلمات مرور حقيقية — مش بيانات وهمية. عالجته بنفس منهج تطهير التاريخ
بالكامل. القرار التاني كان بخصوص توثيق الـAPI: بدل ما أكتب مواصفات
OpenAPI منفصلة يدويًا (واللي غالبًا هتتقادم مع الوقت)، ولّدتها من
annotations حقيقية فوق كل route مباشرة في الكود، فالتوثيق مستحيل
يتباعد عن الواقع. كمان اضطريت أغيّر صورة القاعدة (base image) من
Debian العادية لـTrixie لما اكتشفت إن مكتبة SQLite الأصلية (native)
محتاجة إصدار glibc أحدث، وده كان أسرع بكتير من تجميع المكتبة من المصدر
لكل معمارية على حدة.
الجوانب التقنية
Express + Sequelize + SQLite (مضمّنة داخل نفس الحاوية، بدون خادم قاعدة بيانات منفصل)، مصادقة JWT بـbcrypt أصلية، وصلاحيات إدارية منفصلة عن العلم البسيط اللي العميل ممكن يتلاعب فيه.
قيمة المشروع داخل المعرض
بيوضح التعامل الصحيح مع بيانات حساسة مسرّبة، وقرار توثيق API مستدام (مولَّد من الكود، مش منفصل عنه)، وحل مشكلة توافق معماريات نادرة.
أعمال ذات صلة
تطبيق وصفات اجتماعي للهاتف
تطبيق اجتماعي لمشاركة وصفات الطبخ بخطوات تحضير منظّمة، تعليقات وإعجابات، وواجهة Ionic تعمل موبايل وويب.
اقرأ المزيدواجهة هاتف للطبيب والمريض
تطبيق Expo للتعرف على الأطباء والبحث عنهم، بوضع خرائط أوفلاين، مبني بـExpress وPostgreSQL.
اقرأ المزيدتطبيق محادثة فورية
تطبيق محادثة فورية بمحادثات ثنائية، حالة قراءة/عدم قراءة، وأحداث لحظية عبر Socket.IO، بعميلي ويب وموبايل منفصلين على نفس الخادم.
اقرأ المزيدخدمات ذات صلة
تطوير APIs وخدمات خلفية
خدمات خلفية REST أو GraphQL منظمة مع نماذج بيانات وتحقق ومصادقة عند الحاجة ونقاط ربط جاهزة للواجهة.





