اريد برمجة موقع للاختصار روابط مثل surl.li او is.gd و اود ان افهم فكرة عملها برمجيا
اريد برمجة موقع للاختصار روابط
كنت من أكثر المستخدمين انزعاجا من فكرة اختصار الروابط، لكن لا بأس، فهي بصراحة مفيدة في العديد من النواحي، لإنشاء موقع لاختصار الروابط، يجب اتباع خطوات متكاملة مثلا يمكن استخدام لغات برمجة مثل Python (Django أو Flask) أو Node.js (Express) لتطوير الجزء الخلفي، وHTML/CSS وJavaScript للجزء الأمامي واستخدام قاعدة بيانات (مثل MySQL أو PostgreSQL) لتخزين الروابط الطويلة والمختصرة.
الفكرة بإختصار، هي تخزين الروابط الأصلية في قاعدة بيانات، ثم إنشاء روابط مختصرة لها وعند النقر على الرابط المختصر، يتم إعادة توجيه المستخدم إلى الرابط الأصلي.
وباستطاعتك الإعتماد على أي لغة برمجة مثل PHP أو Python أو Ruby، ويتطلب المشروع إنشاء صفحات ويب لعرض الروابط المختصرة وإعادة توجيه المستخدمين إلى الروابط الأصلية، بالإضافة إلى إنشاء قاعدة بيانات لتخزين الروابط الأصلية.
وعندما يقوم المستخدم بإرسال رابط، يجب أن يتم التحقق من صحة الرابط ومن ثم حفظه في قاعدة البيانات، ثم القيام بإنشاء رمز فريد يمثل الرابط المختصر، وليكن باستخدام خوارزميات مثل Base62 لتوليد رموز قصيرة وسهلة الاستخدام.
بالطبع هناك ميزات إضافية مثل captcha لمنع الروبوتات من إنشاء روابط مختصر أو إعلانات للتكسب من الموقع.
ستجد نقاش جيد هنا:
ويوجد شرح بالفعل لإنشاء تطبيق لإختصار الروابط بواسطة بايثون وFlask في أكاديمية حسوب:
المنطق وراء عمل مواقع اختصارات الروابط هي في تخزين الرابط الأصلي وتوفير رابط مرافق له يكون خاصا بالموقع، فاللحظة التي يتم فيها الدخول إلى الرابط المختصر يتم الاستعلام عن الرابط الأصل من قواعد البيانات ويتم اعادة توجيه المستخدم له.
قد يرفق هذا مع بعض الوظيفية الأخرى، من مثل: اضافة تحفيزات للمستخدمين عندما يتم زيارة روابط قد أنشئوها وما إلى ذلك.
إليك بعض الخطوات العملية:
- أنشئ جدولا بقواعد البيانات يخص المستخدمين
- أنشئ جدولا بقواعد البيانات يخص الروابط، واجعل فيه أربع حقول رئيسية: external_link يعبر عن الرابط الخارجي الأصلي، unique_link_id يعبر عن معرف فريد للرابط، و user_id يعبر عن المستخدم الذي قام بإنشاء الرابط، و visited يعبر عن ما ان كان قد تم زيارة هذا الرابط أو لا.
- أنشئ صفحة رئيسية يمكن للمستخدمين أن يقوموا بإنشاء روابط فيها، وأعطهم الرابط المختصر بعد أن يتم توليده (يجب أن يتضمن هذا الرابط معلومات تخص الرابط في قاعدة البيانات، تذكر المعرف الفريد الذي ولدته، استعمله في الرابط).
- أنشئ صفحة لإعادة التوجيه، إذ يتم في هاته الصفحة عرض اعلانات مثلا وبعد ذلك اعادة التوجيه الى الرابط الأصل.
- قم بتحديد الرابط كرابط تم زيارته من قبل المستخدمين وزود رصيد المستخدم الذي أنشئ الرابط.
بالطبع فإن هذا هو المنطق العام وراء الفكرة، لا يزال بإمكانك التوسع فيها أكثر من مثل: التحقق من ما ان كان الزائر مزيفا وليس مستخدما حقيقيا، حظر المستخدمين عند تكرار زيارة الرابط أكثر من مرة، تحويل نقاط الرصيد إلى حسابات مالية .. الخ
بالإضافة للتعليقات السابقة يوجد بعض الخيارات لبناء موقع تقصير للروابط من الصفر أو باستخدام خدمات موجودة:
البناء من الصفر: تحتاج إحدى إطارات العمل مثل فلاسك، دجانغو، أو نود جي إس التي تتيح للمستخدمين إدخال الروابط الطويلة. كما يجب إنشاء قاعدة بيانات لتخزين الروابط الطويلة وتوليد أرقام قصيرة عشوائية. وتوجيه الموقع لتحويل الروابط القصيرة إلى الروابط الطويلة المقابلة عند الوصول إليها.
أو يمكنك استخدام واجهة برمجة تطبيقات: العديد من واجهات برمجة تقصير الروابط مثل Bitly توفر خيارات مجانية
أو يمكنك استخدام منصة مثل Shorte.st and Shortlink تتيح إنشاء حسابات وبناء واجهات مخصصة فوقها.
التعليقات