MedX – پلتفرم فولاستک انتشار محتوا
live :
medx.shayangolestanipour.space
MedX یک وباپلیکیشن فولاستک کامل است که به عنوان یک پلتفرم مدرن انتشار محتوا و شبکه اجتماعی ساخته شده. این پروژه مانند یک محصول SaaS واقعی طراحی شده که در آن کاربران میتوانند ثبتنام کنند، وارد حساب شوند، محتوا تولید کنند، با دیگر کاربران تعامل داشته باشند، پروفایل خود را مدیریت کنند و ادمینها هم از طریق یک داشبورد اختصاصی کل پلتفرم را مدیریت کنند.
این پروژه با Next.js 15، React 19، TypeScript، Tailwind CSS، NestJS، PostgreSQL، TypeORM، احراز هویت JWT، مستندات Swagger و Docker ساخته شده است.
1. تجربه کاربری بخش عمومی سایت
بازدیدکنندگان وارد یک صفحه اصلی حرفهای میشوند.
میتوانند بدون ساخت حساب، مقالات منتشرشده را مشاهده کنند.
امکان صفحهبندی (Pagination) فهرست مقالات.
امکان فیلتر کردن محتوا براساس تگ.
مشاهده جزئیات کامل هر مقاله.
پشتیبانی پایهای SEO شامل متادیتا، robots و sitemap.
2. سیستم احراز هویت کاربران
امکان ثبتنام با نام کاربری، ایمیل و رمز عبور.
ورود امن برای کاربران موجود.
صدور توکنهای access و refresh توسط بکاند.
پیادهسازی کامل Protected Routes.
نگهداری Session در سمت کلاینت.
هدایت خودکار کاربر به صفحه ورود هنگام نیاز.
پیادهسازی جریان Refresh Token در بکاند.
3. سیستم انتشار مقاله
کاربران لاگین کرده میتوانند مقاله ایجاد کنند.
امکان ویرایش مقالههای خود.
امکان حذف مقالههای خود.
مقالات شامل عنوان، توضیحات، بدنه، اسلاگ، زمانها، تگها و شمارش علاقهمندیها هستند.
ادیتور از Markdown پشتیبانی میکند.
نمایش زنده (Live Preview) قبل از انتشار.
تگها قبل از ذخیرهسازی پاکسازی و نرمالسازی میشوند.
نمایش حرفهای و خوانا برای صفحه نمایش مقاله.
4. امکانات تعامل خوانندگان
کاربران میتوانند مقالات را لایک (Favorite) و آنلایک کنند.
شمارش علاقهمندیها ذخیره و نمایش داده میشود.
امکان ثبت کامنت زیر مقالات.
کاربران میتوانند کامنتهای خود را حذف کنند.
نمایش حالتهای لودینگ، خالی و خطا برای بخش کامنتها.
5. قابلیتهای اجتماعی و جامعهمحور
هر کاربر یک صفحه پروفایل عمومی دارد.
کاربران میتوانند نویسندگان دیگر را دنبال کنند.
امکان لغو دنبالکردن.
صفحه پروفایل شامل شمارش دنبالکنندگان و دنبالشوندگان.
نمایش مقالات منتشرشده کاربر.
نمایش مقالات موردعلاقه کاربر.
نمایش لیست دنبالکنندگان و دنبالشوندگان.
ایجاد تجربه یک شبکه اجتماعی واقعی برای نویسندگان و خوانندگان.
6. تجربه شخصیسازی برای کاربران
فید شخصی براساس نویسندگان دنبالشده.
مدیریت تمیز UI با الگوهای مدرن React.
نمایش Toast برای اکشنها: ورود، انتشار، ویرایش، حذف، آپلود و…
کاملاً ریسپانسیو برای دسکتاپ و موبایل.
ناوبری موبایل اختصاصی.
تغییر تم (Theme Switching).
دکمه اسکرول به بالا.
7. مدیریت حساب و پروفایل
کاربران میتوانند نام کاربری، ایمیل، بیو و رمز عبور خود را ویرایش کنند.
امکان انتخاب آواتار از کتابخانه آماده.
امکان آپلود تصویر پروفایل دلخواه.
فایلهای آپلودشده در بکاند ذخیره و از همانجا ارائه میشوند.
8. پشتیبانی چندزبانه
پشتیبانی از زبان انگلیسی و فارسی.
پشتیبانی کامل از RTL برای فارسی.
مناسب برای ارائه به بازارهای بینالمللی.
9. پنل ادمین و سیستم مدیریت کاربران
پشتیبانی از نقشهای Admin و Super Admin.
صفحه مدیریت کاربران در پنل ادمین.
مشاهده تمام کاربران برای ادمینها.
امکان تغییر نقشها توسط Super Admin.
فعال/غیرفعال کردن کاربران توسط ادمین.
حذف کاربران توسط ادمین.
طراحی ساختار نقشها در گاردها و لایه احراز هویت بکاند.
مناسب برای مدیریت و کنترل واقعی یک پلتفرم.
10. کیفیت مهندسی بکاند
معماری ماژولار با NestJS.
دیتابیس PostgreSQL با TypeORM.
اعتبارسنجی DTOها.
پیادهسازی کامل گاردهای احراز هویت.
مجوزدهی مبتنی بر نقش (Role-Based Authorization).
مستندات کامل Swagger برای تست و تحویل API.
پشتیبانی از Migration دیتابیس.
Seed اولیه برای ساخت حساب ادمین.
نقطه پایش سلامت سیستم (Health Check).
لاگگیری درخواستها.
11. آمادهسازی برای دیپلوی و DevOps
قابلیت اجرای Frontend، Backend و PostgreSQL با Docker Compose.
اجرای خودکار مهاجرتهای دیتابیس هنگام بالا آمدن کانتینر.
استفاده از Volumeها برای ذخیره دائمی دیتابیس و فایلهای آپلودشده.
ساختار پروژه کاملاً مناسب دیپلوی یا تحویل به مشتری.