Skip to content

Instantly share code, notes, and snippets.

@AbdelrahmanBayoumi
Created February 22, 2022 20:17
Show Gist options
  • Save AbdelrahmanBayoumi/9fc3f39ed14dd691b5705ed1745468a2 to your computer and use it in GitHub Desktop.
Save AbdelrahmanBayoumi/9fc3f39ed14dd691b5705ed1745468a2 to your computer and use it in GitHub Desktop.
مقترح لمنصة لعرض المشاريع وسهولة إضافتها

💡 الهدف:

تجميعة قدر المستطاع للمشاريع البرمجية التي تساهم في (اللغة العربية والإسلام)..

وعرضها بطريقة واضحة وسهلة البحث


طريقة مشاركة المشروع:

  • تسجيل الدخول في المنصة
  • عمل طلب إضافة المشروع
  • يتم مراجعة المشروع أولا (من المسؤولين) ثم الموافقة على نشره على المنصة

📌 Main Features

🏡 Home
  • Search Box
    • search by tag || by projectName
  • View Projects
    • View number of reacts in project
    • Author name
  • Add Project Button
    • redirect user to login if not logged-in
💼 Project Home
  1. Author
  2. Published Date
  3. Updated Date
  4. Project Name
  5. Project Description (String | HTML | Markdown)
  6. URL
    1. GitHub Repo
    2. Website
  7. Thumbnail / Logo
  8. Tags[]
  9. Reactions: int ❤️
  10. Comments[] sort( old in top )
📝 Add Project
  • Name
  • Description (String | HTML | Markdown)
  • URL
    1. GitHub Repo
    2. Website
  • Thumbnail / Logo
  • Tags[]
👥 Site users ⇒ (user, moderator, admin)
  1. admin ⇒
    1. can (add/delete) moderators
    2. all admin privileges
  2. moderator ⇒
    1. can accept/reject project requests
    2. (display & delete & respond) to users reports
    3. all user privileges
  3. user ⇒ can do:
    1. see projects
    2. add projects
    3. react to the project
    4. comment to the project
    5. report project to admins
📋 Dashboard
  • 👤 Owner View
    • Admin View +
    • view list of users & admins
      • can upgrade user to admin
      • can downgrade admin to user
  • 👤 Admin View
    • List of pending posts
      • can accept/reject project requests
    • List of Reports
      • (delete & respond) to users reports

📦 Models

👤 User - المستخدم
  1. Personal Data
  2. Privileges (user, moderator, admin)
  3. published projects[] (projectIDs)
💼 Project - المشروع
  1. Author ⇒ UserID
  2. Published Date
  3. Updated Date
  4. Project Name
  5. Project Description (String | HTML | Markdown)
  6. URL
    1. GitHub Repo
    2. Website
  7. Thumbnail / Logo
  8. Tags[] (TagIDs)
  9. Reactions: int ❤️
  10. Comments[] (commentIDs)
💬 Comments - تعليقات
  1. Comment ID
  2. Author (UserID)
  3. Body (String | HTML | Markdown)
  4. Created Date
  5. Updated Date
  6. Reactions: int ❤️

💡 Future Features

  • User can follow tags
  • User can subscribe to tag to get projects updates to E-mail
@MuhammadSawalhy
Copy link

خل لديك خبر بتطوير المواقع سواءً أكان واجهة أو من ناحية الطرف الخلفي والخادم؟

  • ما رأيك أن ننشئ نقاشا على مستودع التجميعة ونكمل الحوار هناك؟

@MuhammadSawalhy
Copy link

  1. سيكون إن شاء الله للمشروع صورة وهو ما يتطلب مساحة تخزين
  2. ونحتاج قاعدة بيانات وليكن بال MongoDB أو ال Firebase أو مثلا Postgres
  3. يمكن أن نجعله موقع مولد ثابت SSG لكن هذا ينافي ما نريده من وجود تفاعلات وتعليقات (وغالب الظن أننا سنتخلى عنها)، كما أنني لست على دراية كافية بالطرق اﻷخرى من SSR وال ISG
  4. كتبت ملاحظات كثيرة ملأت الورقة واضطررت للكتابة في ورقة أخرى، يبدو أننا سنواجه الكثير من العقبات والجهد في هذا
  5. فكرت في جعل كل مشروع ملف markdown منفصل ونكتب كودًا يجمعهم في ملف واحد مرتبين لكن وجدت أن من الصعب والممل أن نمر على ملف README.md ونقرأه وهو نص دون وجود تصميم وتقسيم وسهولة بحث ووسوم tags وغيرها من ميزات المنصة
    ---
    الاسم: اسم المشروع
    العائل: صاحب المشروع
    حالة_التطوير: خامل
    الصورة: رابط\للصورة.png
    .......
    ---
    
    # الوصف المقتضب
    
    أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ. أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ.
    أبجد هوز حطي قرشت ثخذ ضظغ. أبجد هوز حطي كلمن سعفص، أبجد هوز حطي كلمن سعفص قرشت ثخذ. 
    
    # الوصف التفصيلي
    
    .........
    

@MuhammadSawalhy
Copy link

MuhammadSawalhy commented Mar 2, 2022

  1. سيكون إن شاء الله للمشروع صورة وهو ما يتطلب مساحة تخزين

نوشن، على سبيل المثال، تخزن الصور على AWS وهو ما عرفته من روابط الصور.

@AbdelrahmanBayoumi
Copy link
Author

خل لديك خبر بتطوير المواقع سواءً أكان واجهة أو من ناحية الطرف الخلفي والخادم؟

أنا عندي مستوى متواضع في: Node.js & Express & MongoDB 😇

  • ما رأيك أن ننشئ نقاشا على مستودع التجميعة ونكمل الحوار هناك؟

أؤيد النقاش على مستودع التجميعة أو ممكن أن تنشئ مجموعة على تيليجرام مثلا أو ديسكورد

@AbdelrahmanBayoumi
Copy link
Author

  1. سيكون إن شاء الله للمشروع صورة وهو ما يتطلب مساحة تخزين

نوسن، على سبيل المثال، تخزن الصور على AWS وهو ما عرفته من روابط الصور.

بالنسبة للصور أظن أن Firebase Cloud Storage تكفي جدا في البداية

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment