تخطي إلى المحتوى
العودة إلى الأعمال

مشروع تطبيق مشاركة الصور

تطبيق Next.js اجتماعي لمشاركة الصور مع موجز ورفع صور وملفات شخصية وتخزين صور ووضع داكن وواجهة متجاوبة.

عارض صور المشروع

تطبيق مشاركة صور اجتماعي

صورة 1 من 9

فكرة المشروع

منصة اجتماعية لمشاركة الصور بموجز عام، رفع من الملف أو الكاميرا مباشرة، وإعجابات بقيد فريد يمنع التكرار. الصورة الشخصية اختيارية مع سقوط أنيق للحروف الأولى بدل صورة مكسورة.

ما الذي تعرضه الواجهة

الموجز العام بالوضعين الداكن والفاتح وحالتي الصورة الشخصية، شبكة صور المستخدم الخاصة، نافذة تفاصيل صورة بعنوان ووصف، وصفحة تسجيل الدخول.

دوري وقراراتي

صمّمت التخزين كواجهة قابلة للتبديل (محلي/Cloudinary/S3) بدل الربط بمزوّد واحد، وده خلّى الترحيل لـHeroku أسهل لما اكتشفت إن بعض حزم SDK لازم تكون dependencies إجبارية مش اختيارية عشان التطبيق يشتغل هناك. اخترت كمان أتحقق من التوقيع الفعلي لبايتات الملف المرفوع بدل الاكتفاء بنوع MIME اللي بيبعته المتصفح، لأنه قابل للتزييف بسهولة. لما جيت أعبّي بيانات تجريبية، أعدت حساب عدّاد إعجابات كل صورة يدويًا من مستندات الإعجاب الفعلية وتأكدت إن مفيش أي فرق بينهم قبل ما أعتبر التعبئة ناجحة.

الجوانب التقنية

Next.js App Router، MongoDB عبر Mongoose بثلاث مجموعات (مستخدمين، صور، إعجابات)، جلسات HttpOnly cookies بدل تخزين التوكن في JavaScript (تقليل مخاطر XSS)، وعدّاد إعجابات مُطبَّع (denormalized) على مستوى الصورة لتفادي استعلام عدّ في كل تحميل موجز.

قيمة المشروع داخل المعرض

بيوضح التعامل مع نمط Strategy الحقيقي في طبقة التخزين، والتحقق الأمني من محتوى الملفات المرفوعة، وضبط عدّاد مُطبَّع يفضل متزامن مع مصدر الحقيقة.

عرض أعمال أكثر
عرض خدمات أكثر