منصوبے کے بارے میں
OwnChat ایک خود میزبانی شدہ ڈیسک ٹاپ چیٹ ایپلیکیشن ہے جو ان صارفین کے لیے ہے جو اپنی کمیونیکیشن پر کنٹرول چاہتے ہیں۔ یہ کلائنٹ-سرور-کلائنٹ آرکیٹیکچر پر عمل کرتی ہے، جہاں متعدد ڈیسک ٹاپ کلائنٹ ایک مرکزی سرور سے جڑتے ہیں جو پیغامات کو ریئل ٹائم میں منتقل کرتا ہے۔ ایپلیکیشن Java Swing کو یوزر انٹرفیس کے لیے، Java Sockets کو نیٹ ورکنگ کے لیے، اور Oracle Database کو مستقل اسٹوریج کے لیے استعمال کرتی ہے۔
اہم خصوصیات میں شامل ہیں:
- **اکاؤنٹ بنانا اور لاگ ان**: صارف کی اسناد `USER_DETAILS` ٹیبل میں محفوظ ہوتی ہیں اور لاگ ان کے دوران تصدیق کی جاتی ہیں۔
- **رابطوں کا انتظام**: صارف رابطے شامل کر سکتے ہیں، اپنی رابطہ فہرست دیکھ سکتے ہیں، اور چیٹ شروع کرنے سے پہلے چیک کر سکتے ہیں کہ کوئی رابطہ آن لائن ہے یا نہیں۔
- **ریئل ٹائم پیغام رسانی**: ہر لاگ ان شدہ کلائنٹ سرور کے ساتھ ایک ساکٹ رجسٹر کرتا ہے؛ اگر وصول کنندہ کے پاس چیٹ ونڈو کھلی ہو تو پیغامات براہ راست منتقل کیے جاتے ہیں۔ تمام پیغامات `CHAT_HISTORY` میں محفوظ کیے جاتے ہیں۔
- **چیٹ ہسٹری**: کسی رابطے کے ساتھ چیٹ دوبارہ کھولنے پر پچھلے پیغامات دوبارہ دکھائے جاتے ہیں، جنہیں بھیجنے والے کے لحاظ سے رنگ کوڈ کیا جاتا ہے، اور تاریخ/وقت کے ہیڈر ہوتے ہیں۔
- **تھیمز**: صارف Metal، Dark، اور Light look-and-feel میں سے انتخاب کر سکتے ہیں۔ منتخب کردہ تھیم `SETTINGS` ٹیبل میں فی صارف محفوظ ہوتی ہے اور لاگ ان پر خود بخود لاگو ہوتی ہے۔
- **آن لائن/آف لائن اسٹیٹس ٹریکنگ**: جب بھی صارف رابطہ فہرست کھولتا/بند کرتا ہے یا لاگ ان/آؤٹ کرتا ہے تو سرور `LOG_STATUS` کو اپ ڈیٹ کرتا ہے، بشمول ونڈو بند ہونے پر خودکار لاگ آؤٹ ہک۔
- **قابل ترتیب سرور IP**: کلائنٹ ایک سادہ سیٹنگز اسکرین کے ذریعے کسی بھی سرور ہوسٹ کی طرف اشارہ کر سکتے ہیں۔
- **About اسکرین**: ڈویلپر اور برانڈنگ کی معلومات دکھاتی ہے۔
پروجیکٹ تین اہم حصوں پر مشتمل ہے: کلائنٹ ایپلیکیشن، سرور، اور ڈیٹا بیس اسکیما۔ کلائنٹ مختلف اسکرینوں (ویلکم، لاگ ان، اکاؤنٹ بنانا، سیٹنگز، رابطے، چیٹ ونڈو، وغیرہ) کے لیے متعدد Java کلاسز پر مشتمل ہے۔ سرور ملٹی تھریڈڈ ہے، ہر کلائنٹ کنکشن کو الگ تھریڈ میں ہینڈل کرتا ہے، اور پیغام کی ترسیل کے لیے کنیکٹڈ کلائنٹس کو ٹریک کرنے کے لیے `ConcurrentHashMap` استعمال کرتا ہے۔ ڈیٹا بیس اسکیما میں صارفین، سیٹنگز، لاگ ان اسٹیٹس، رابطوں، اور چیٹ ہسٹری کے لیے ٹیبلز شامل ہیں، جن میں نئے صارفین کے لیے ڈیفالٹ سیٹنگز اور ابتدائی لاگ آؤٹ اسٹیٹس خود بخود سیٹ کرنے کے لیے ٹرگرز ہیں۔
سیٹ اپ میں فراہم کردہ SQL اسکرپٹ چلا کر Oracle ڈیٹا بیس بنانا، پھر سرور ایگزیکیوٹیبل (OwnChatS-Portable.zip) چلانا اور ڈیٹا بیس کی اسناد درج کرنا، اور آخر میں کلائنٹ ایگزیکیوٹیبل (OwnChat-Portable.zip) چلانا، سرور IP سیٹ کرنا، اکاؤنٹ بنانا، اور چیٹ کرنا شامل ہے۔ روڈ میپ میں Servlets، JSP، J2EE، اور Spring Boot کے ساتھ HTML/CSS/Bootstrap فرنٹ اینڈ استعمال کرتے ہوئے مستقبل کے ویب پر مبنی ورژن کا ذکر ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.