منصة مجتمع استثماري (كتالوج مشاريع + طلب انضمام + شات خاص) — استثمارنا (Investerna)
الوصف القصير:
باكند لمنصة تجمع ناس عايزين يستثمروا من غير ما يديروا الصفقات بنفسهم: كتالوج مشاريع، طلب انضمام، وشات مجتمع خاص بعد موافقة الأدمن. NestJS + PostgreSQL + Prisma + WebSockets، ودعم عربي/إنجليزي.
الموقع: https://innocapital.onlin...
الوصف الكامل:
استثمارنا (Investerna) باكند لمنصة مجتمع استثماري.
تجمع الناس اللي عايزين يستثمروا لكن مش بيديروا الصفقات بنفسهم في مكان واحد: كتالوج مشاريع، طلب انضمام، وشات مجتمع خاص لكل مشروع بعد ما الأدمن يوافق.
التقنية:
- NestJS + TypeScript
- PostgreSQL + Prisma
- REST تحت /api/v1
- الشات كمان بـ WebSockets
- عربي وإنجليزي جنب بعض؛ الردود العامة تتبع Accept-Language والافتراضي عربي
الدومين بسيط: تصنيف → مشاريع → لكل مشروع منشور مجتمع واحد → العضوية بعد الموافقة أو إضافة الأدمن.
المميزات:
1) المستثمرون والأدمن
- المستثمر يدخل بـ Google: يتصفح المشاريع، يقدّم طلب استثمار، يشات داخل المجتمعات اللي هو عضو فيها، ويفتح شات دعم خاص مع الفريق
- الأدمن يدخل بإيميل وباسورد حسب الدور
- الصلاحيات حسب المنطقة: ACCOUNT, COMMUNITY, INVESTMENT, CHAT, CONTENT
- إدارة أدمن آخرين، الأدوار، وحالة المستخدم (ACTIVE / SUSPENDED / BANNED)
2) الكتالوج
- تصنيفات بأنواع الاستثمار
- المشروع تحت تصنيف ويعرض العرض: عناوين، موقع، وصف، حد أدنى للاستثمار، عائد متوقع، مستوى المخاطر، مدة الاستثمار، وطريقة توزيع العائد
- صور ومستندات لكل مشروع
- الحالات: DRAFT / PUBLISHED / CLOSED / ARCHIVED
- الزوار العامون يشوفوا المنشور فقط
- الأدمن ينشئ ويعدّل التصنيفات والمشاريع، يرفع ملفات، ويغيّر الحالة
3) طلبات الاستثمار
- المستخدم يقدّم على مشروع محدد بسبب ورقم هاتف
- الحالات: PENDING / APPROVED / REJECTED / CANCELLED
- يقدر يلغي وهو لسه PENDING
- موافقة الأدمن = إضافة للمجتمع بتاع المشروع
- الرفض = مفيش إضافة
- بعد الموافقة يشوف المشاريع اللي اتقبل فيها
4) المجتمعات
- مجتمع واحد مربوط بمشروع واحد
- العضو: قائمة مجتمعاته، التفاصيل، والمغادرة
- الأدمن: قائمة، إضافة/إزالة أعضاء، حظر عضو، أرشفة أو حذف المجتمع
- العضوية مش مفتوحة: إما طلب استثمار موافق عليه، أو إضافة من الأدمن
5) الشات
- شات المجتمع للأعضاء النشطين فقط: نص، صور، ملفات، mention، رد في ثريد، تعديل/حذف الرسالة، اللي أونلاين، وبلاغ رسالة
- شات الدعم: ثريد خاص واحد لكل مستخدم مع فريق الأدمن
- أدمن CHAT: حذف أي رسالة، تثبيت، حظر من المجتمع، وطابور بلاغات (PENDING / RESOLVED / DISMISSED)، والرد في شات الدعم
- الرسائل الجديدة تقدر تشغّل إشعارات داخل التطبيق وPush
6) المحتوى والإعدادات
- صفحات عامة تُدار كمحتوى مش كود: هيرو، إحصائيات، من نحن، مميزات، خطوات العمل، آراء العملاء، FAQ، تواصل، شروط، وخصوصية
- الـ API العام بيقرأ الأقسام دي فقط
- صف إعدادات واحد لقيم المنصة (حالياً رقم واتساب): أي حد يقرأه، وأدمن CONTENT يعدّله أو يمسحه
7) الحسابات والملفات والإشعارات
- المستخدم يحدّث بروفايله (إيميل، يوزرنيم، الاسم، صورة) ويشوف بروفايل عام لحد تاني
- الأدمن يعرض ويعدّل المستخدمين ويقدر يعلّق أو يحظر
- إشعارات: رسائل شات، mentions، ردود الدعم، قرارات الاستثمار، وتحديثات عائد اختيارية
- تفضيلات تشغيل/إيقاف حسب النوع والقناة
- القناة الأساسية داخل التطبيق؛ Push مع Firebase؛ الإيميل محجوز
- الملفات (صور، ميديا مشاريع، مرفقات شات) على ديسك السيرفر وتتتقدم عبر files API
8) المحلل (Analyser)
- مطلوب في المتطلبات: واجهات محفظة للمستثمرين وتقارير أدمن عن المستخدمين والمشاريع
- مفيش موديول محلل في الكود لسه
نقاط تقنية:
- الموقع: https://innocapital.onlin...
- API: REST /api/v1
- البيانات: PostgreSQL + Prisma
- الشات: WebSockets
- اللغات: عربي / إنجليزي
- التقنيات: NestJS, TypeScript, PostgreSQL, Prisma, WebSockets