هذا المشروع هو الحد الأدنى من استنساخ تطبيق Monkey ، وهو تطبيق وسائل التواصل الاجتماعي يسمح للمستخدمين بالدردشة مع أشخاص عشوائيين. يستخدم مجموعة متنوعة من التقنيات بما في ذلك ReactJs للواجهة الأمامية ، ومجموعة أدوات Redux لإدارة الحالة ، و PeerJs لـ WebRTC ، و React Use UseBoSocket ، و BunJs للالتحاق الخلفي ، و Docker من أجل الحاويات والتنسيق.
يمكن الوصول إلى العرض التوضيحي المباشر للتطبيق على: https://monkey.misterneo.pro
استنساخ تطبيق Monkey هو مشروع يهدف إلى تكرار وظائف تطبيق Monkey. يسمح للمستخدمين بالانخراط في دردشات الفيديو باستخدام تقنية WEBRTC. كما يسمح للمستخدمين بإرسال رسائل نصية إلى بعضهم البعض باستخدام WebRTC Datachannel. تم تصميم التطبيق باستخدام ReactJs للواجهة الأمامية ، و Redux Toolkit لإدارة الحالة ، و PEERJS لـ WEBRTC ، و React Use UseBoSocket ، و BUNJs للواجهة الخلفية ، و Docker لتحقيق الحاويات والتنسيق.
قبل تشغيل التطبيق ، تأكد من تثبيت BunJs على جهازك. يمكن العثور على تعليمات التثبيت هنا. إذا لم تتمكن من تثبيت BUNJS ، فيمكنك استخدام ملف Docker Compose لتشغيل التطبيق باستخدام Docker.
git clone https://github.com/misterneo/monkey-app-clone.git
cd monkey-app-clone
server
cd server
bun install
bun run index.ts
سيبدأ هذا خادم WebSocket و HTTP على المنفذ 3000.
اختياريا:
يمكنك تحديد المنفذ باستخدام علامة
--port
، على سبيل المثال ،bun run index.ts --port 5000
. تمكين وضع التصحيح باستخدام--debug
Flag ، EG ،bun run index.ts --debug
.
إذا قررت تغيير المنفذ الافتراضي ، فستحتاج إلى تحديث متغير
VITE_SERVER_PORT
في ملف.env.local
في دليلclient
. يمكنك القيام بذلك عن طريق نسخ ملف.env.example
وإعادة تسميته إلى.env.local
. بعد ذلك ، قم بتحديث متغيرVITE_SERVER_PORT
إلى المنفذ الذي حددته.
client
cd client
bun install
bun run dev
سيبدأ هذا التطبيق على المنفذ 5173. انتقل إلى http://localhost:5173
لعرض التطبيق.
docker compose up -d --build
انتظر حتى يبدأ التطبيق. قد يستغرق هذا الأمر بضع دقائق في المرة الأولى التي تقوم فيها بتشغيل الأمر.
انتقل إلى http://localhost:5173
لعرض التطبيق.
docker compose down
المساهمات موضع ترحيب. لا تتردد في فتح طلب سحب أو تقديم مشكلة.
هذا المشروع مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص لمزيد من التفاصيل.