قابل توسیع بلاگ بیک اینڈ بنانے کے لیے ایک اچھی ساختہ فن تعمیر، تصدیقی نظام، اور مناسب طریقے سے دستاویزی APIs کی ضرورت ہوتی ہے۔ NestJS MongoDB Blog API ایک پروڈکشن کے لیے تیار بیک اینڈ ٹیمپلیٹ ہے جو ڈویلپرز کو NestJS، MongoDB، JWT authenticationاور Swagger دستاویزات کا استعمال کرتے ہوئے تیزی سے جدید بلاگ پلیٹ فارم بنانے میں مدد کرنے کے لیے ڈیزائن کیا گیا ہے ۔
یہ پروجیکٹ ایک مکمل RESTful API فراہم کرتا ہے جس میں صارفین کے لیے ماڈیولز، پوسٹس، زمرہ جات، ٹیگز، تبصرے، تصدیق، اور کردار پر مبنی رسائی کنٹرول شامل ہیں ۔
ذخیرہ: https://github.com/bfotool/nestjs-mongodb-blog-base
NestJS MongoDB بلاگ API کیا ہے؟
NestJS MongoDB Blog API ایک اوپن سورس بیک اینڈ ٹیمپلیٹ ہے جو NestJS 11 اور MongoDB کے ساتھ بنایا گیا ہے جو مکمل طور پر فعال بلاگ REST API فراہم کرتا ہے۔
یہ عمارت کی بنیاد کے طور پر کام کرنے کے لیے ڈیزائن کیا گیا ہے:
بلاگ پلیٹ فارمز
بغیر سر کے CMS سسٹم
مواد کی اشاعت APIs
دستاویزی ویب سائٹس
ڈویلپر پورٹ فولیو بلاگز
یہ منصوبہ NestJS کے تجویز کردہ ماڈیولر فن تعمیر کی پیروی کرتا ہے ، جس سے اسکیل ایبلٹی اور برقرار رکھنے کو یقینی بنایا جاتا ہے۔
ذخیرہ: https://github.com/bfotool/nestjs-mongodb-blog-base
کلیدی خصوصیات
تصدیق اور اجازت
API میں JWT ٹوکن کا استعمال کرتے ہوئے ایک محفوظ تصدیقی نظام شامل ہے۔
اہم تصدیق کی خصوصیات میں شامل ہیں:
JWT رسائی اور ریفریش ٹوکن
رول پر مبنی رسائی کنٹرول(RBAC)
bcrypt کے ساتھ پاس ورڈ ہیش کرنا
گارڈز کا استعمال کرتے ہوئے محفوظ API روٹس
ٹوکن ریفریش میکانزم
تین ڈیفالٹ صارف کے کردار سپورٹ ہیں:
ایڈمن
مصنف
قاری
اس سے مختلف API اینڈ پوائنٹس پر اجازتوں کا نظم کرنا آسان ہوجاتا ہے۔
مکمل بلاگ ماڈیولز
پروجیکٹ میں کئی مکمل طور پر نافذ کردہ ماڈیولز شامل ہیں جو بلاگ کی تمام بنیادی فعالیتوں کا احاطہ کرتے ہیں۔
اوتھ ماڈیول
تصدیق اور صارف کے سیشن کو ہینڈل کرتا ہے۔
اختتامی نکات میں شامل ہیں:
POST /auth/registerPOST /auth/loginPOST /auth/refreshPOST /auth/logoutGET /auth/profile
صارفین کا ماڈیول
صارف کے اکاؤنٹس اور پروفائلز کا انتظام کرتا ہے۔
اختتامی نکات:
GET /usersGET /users/:idPATCH /users/:idDELETE /users/:id
تحریری کارروائیوں کے لیے ایڈمن کی اجازت درکار ہوتی ہے ۔
پوسٹس ماڈیول
پوسٹس ماڈیول بلاگ کے مواد کا انتظام کرتا ہے۔
خصوصیات میں شامل ہیں:
صفحہ بندی
زمرہ، ٹیگ، یا مصنف کے لحاظ سے فلٹر کرنا
چھانٹنا
مکمل متن کی تلاش
نمایاں پوسٹس
اختتامی نکات:
GET /postsGET /posts/featuredGET /posts/:slugPOST /postsPATCH /posts/:idDELETE /posts/:id
زمرہ جات ماڈیول
بلاگ پوسٹس کو زمروں میں ترتیب دیتا ہے۔
اختتامی نکات:
GET /categoriesGET /categories/:slugPOST /categoriesPATCH /categories/:idDELETE /categories/:id
ٹیگز ماڈیول
بلاگ پوسٹس کے لیے لچکدار ٹیگنگ کی اجازت دیتا ہے۔
اختتامی نکات:
GET /tagsGET /tags/:slugPOST /tagsPATCH /tags/:idDELETE /tags/:id
تبصرے ماڈیول
تبصرہ کے دھاگوں اور گھریلو جوابات کی حمایت کرتا ہے۔
اختتامی نکات:
GET /comments/post/:postIdGET /comments/:id/repliesPOST /commentsPATCH /comments/:idDELETE /comments/:id
API کی صلاحیتیں۔
صفحہ بندی
فہرست کے تمام اختتامی نکات صفحہ بندی کی حمایت کرتے ہیں۔
مثال:
GET /posts?page=1&limit=6
فلٹرنگ
پوسٹس کو زمرہ، ٹیگ یا مصنف کے لحاظ سے فلٹر کیا جا سکتا ہے۔
مثال:
GET /posts?category=web-development
مکمل متن کی تلاش
تلاش کی فعالیت پوسٹس پر لاگو ہوتی ہے۔
مثال:
GET /posts?search=nestjs+mongodb
چھانٹنا
API کے جوابات کو مختلف شعبوں سے ترتیب دیا جا سکتا ہے۔
مثال:
GET /posts?sortBy=createdAt&sortOrder=desc
خودکار سلگ جنریشن
پوسٹس بناتے وقت، سسٹم خود بخود slugify کا استعمال کرتے ہوئے ٹائٹل سے یو آر ایل فرینڈلی سلگ تیار کرتا ہے ۔
مثال:
Building REST APIs with NestJS
→ building-rest-apis-with-nestjs
پڑھنے کے وقت کا حساب کتاب
API پوسٹس کے مواد کی لمبائی کی بنیاد پر پڑھنے کے تخمینی وقت کا خود بخود حساب لگاتا ہے۔
مسلسل API رسپانس فارمیٹ
تمام جوابات معیاری ڈھانچے کی پیروی کرتے ہیں:
{
"success": true,
"data": {},
"timestamp": "2026-01-01T10:00:00Z"
}
یہ فرنٹ اینڈ انضمام اور ڈیبگنگ کو بہتر بناتا ہے۔
ٹیکنالوجی اسٹیک
پسدید جدید Node.js اسٹیک کا استعمال کرتے ہوئے بنایا گیا ہے۔
| تہہ | ٹیکنالوجی |
|---|---|
| فریم ورک | NestJS 11 |
| زبان | ٹائپ اسکرپٹ 5.7 |
| ڈیٹا بیس | مونگو ڈی بی 8 |
| ODM | منگوز 8 |
| تصدیق | Passport.js + JWT |
| توثیق | کلاس کی توثیق کرنے والا |
| API دستاویزات | سویگر اوپن اے پی آئی |
| پاس ورڈ سیکیورٹی | bcrypt |
| سلگ جنریٹر | slugify |
| ٹیسٹنگ | طنز |
پروجیکٹ کا ڈھانچہ
پروجیکٹ ایک ماڈیولر فن تعمیر کی پیروی کرتا ہے۔
src/
├── auth/
├── users/
├── posts/
├── categories/
├── tags/
├── comments/
├── common/
└── seed/
اہم اجزاء میں شامل ہیں:
ڈی ٹی او کی توثیق
منگوز سکیماس
عالمی استثنائی فلٹرز
رسپانس انٹرسیپٹرز
جے ڈبلیو ٹی گارڈز
کردار سجانے والے
یہ ڈھانچہ کوڈ بیس کو منظم اور توسیع پذیر رکھتا ہے۔
پروجیکٹ کو کیسے انسٹال اور چلائیں۔
شرطیں
انسٹال کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
Node.js 18.17+
MongoDB 6+
این پی ایم، یارن، یا پی این پی ایم
ریپوزٹری کو کلون کریں۔
git clone https://github.com/bfotool/nestjs-mongodb-blog-base
cd nestjs-mongodb-blog-base
انحصار انسٹال کریں۔
npm install
ماحولیاتی متغیرات کو ترتیب دیں۔
مثال کے ماحول کی فائل کو کاپی کریں:
cp .env.example .env
درج ذیل اقدار کو اپ ڈیٹ کریں:
MONGODB_URI=
JWT_ACCESS_SECRET=
JWT_REFRESH_SECRET=
ڈیٹا بیس کو سیڈ کریں۔
ڈیٹا بیس کو نمونہ ڈیٹا کے ساتھ آباد کریں:
npm run seed
دوبارہ ترتیب دینے اور دوبارہ ترتیب دینے کے لیے:
npm run seed:refresh
ڈویلپمنٹ سرور شروع کریں۔
npm run start:dev
API بنیادی URL:
http://localhost:3000/api/v1
سویگر دستاویزات:
http://localhost:3000/api/docs
ڈیفالٹ سیڈڈ ڈیٹا
بیج کی اسکرپٹ جانچ کے لیے نمونہ ڈیٹا تیار کرتی ہے۔
| ہستی | شمار |
|---|---|
| صارفین | 5 |
| زمرہ جات | 5 |
| ٹیگز | 28 |
| پوسٹس | 10 |
| تبصرے | 6 |
ڈیفالٹ لاگ ان اسناد
تمام سیڈ صارفین کے لیے پاس ورڈ:
admin123
اکاؤنٹس:
| کردار | ای میل |
|---|---|
| ایڈمن | [email protected] |
| مصنف | [email protected] |
| مصنف | [email protected] |
| مصنف | [email protected] |
| قاری | [email protected] |
سویگر API دستاویزات
انٹرایکٹو API دستاویزات دستیاب ہیں:
http://localhost:3000/api/docs
Swagger فراہم کرتا ہے:
انٹرایکٹو اینڈ پوائنٹ ٹیسٹنگ
JWT authenticationحمایت
درخواست اور جوابی اسکیما دستاویزات
یہ ذخیرہ کیوں استعمال کریں۔
NestJS MongoDB Blog API ایک جدید بلاگ بیک اینڈ بنانے والے ڈویلپرز کے لیے ایک طاقتور نقطہ آغاز ہے۔
فوائد میں شامل ہیں:
NestJS ماڈیولر فن تعمیر کو صاف کریں ۔
بلٹ ان تصدیق اور RBAC
استعمال کے لیے تیار سویگر API دستاویزات
Mongoose کا استعمال کرتے ہوئے MongoDB انضمام
ڈیٹا بیس سیڈنگ سسٹم
پروڈکشن کے لیے تیار پروجیکٹ کا ڈھانچہ



