دقیقاً چه کاری باید انجام شود؟
دقت داشته باشید این پروژه قراره نیست به production برسه و صرفا هدف نشان دادن قابلیت های NestJs و راه و روش ساخت یک چت روم امن بر پایه E2EE هست.
هدف، طراحی و پیادهسازی یک چتروم آنلاین با تمرکز بر امنیت، معماری استاندارد بکاند و قابلیتهای پیشرفته NestJS است.
کاربران میتوانند تنها با انتخاب نام کاربری وارد اتاق گفتگو شوند و بهصورت لحظهای پیام ارسال کنند.
یک مدیر با نام کاربری Admin و رمز عبور تعریفشده در فایل تنظیمات، امکان مدیریت کاربران و فضای گفتگو را خواهد داشت.
ویژگی اصلی پروژه، رمزنگاری سرتاسری (E2EE) است؛ پیامها پیش از ارسال در مرورگر رمزنگاری میشوند و سرور فقط متن رمزنگاریشده را ذخیره و منتقل میکند، بدون اینکه به محتوای اصلی پیامها یا کلیدهای رمزنگاری دسترسی داشته باشد.
امکانات اصلی:
- ورود کاربران با نام کاربری و ورود اختصاصی مدیر _ چت Real Time، نمایش کاربران آنلاین و نشانگر در حال تایپ _ پاسخ به پیامها، ویرایش و حذف پیام و واکنش با ایموجی _ ارسال پیام خصوصی بین کاربران _ مدیریت کاربران آنلاین، اخراج و مسدودسازی کاربران توسط مدیر _ مدیریت اتاق گفتگو و مخفیسازی یا بازگردانی تاریخچه پیامها _ رمزنگاری سرتاسری پیامها و تبادل امن کلیدهای رمزنگاری _ مدیریت نسخه کلیدها و تغییر کلید اتاق پس از اخراج کاربر _ اعتبارسنجی ورودیها، محدودسازی درخواستها و محافظت در برابر حملات متداول _ مدیریت خطاها، تنظیمات محیطی و ساختار ماژولار و توسعهپذیر _ اجرای پروژه با Docker و آمادهسازی استقرار روی سرور با HTTPS
- UI بسیار ساده
سرعت انجام پروژه بشدت مهمه و چون پروژه قرار نیست Production بشه, قیمت هم مهمه.
برای سرعت کار میتونید کل پروژه رو با هوش مصنوعی هم انجام بدین اما خروجی باید حتما توسط شما که تخصص در NestJs و انجام رمزنگاری E2EE دارین چک شود.