NestJS MongoDB ब्लॉग API टेम्पलेट – ब्लॉग के लिए पूर्ण विशेषताओं से युक्त REST बैकएंड

एक स्केलेबल ब्लॉग बैकएंड बनाने के लिए एक सुव्यवस्थित आर्किटेक्चर, प्रमाणीकरण प्रणाली और ठीक से प्रलेखित API की आवश्यकता होती है। NestJS MongoDB ब्लॉग API एक प्रोडक्शन-रेडी बैकएंड टेम्प्लेट है जिसे डेवलपर्स को NestJS, MongoDB JWT authenticationऔर Swagger डॉक्यूमेंटेशन का उपयोग करके आधुनिक ब्लॉग प्लेटफॉर्म को तेजी से बनाने में मदद करने के लिए डिज़ाइन किया गया है ।

यह प्रोजेक्ट उपयोगकर्ताओं, पोस्ट, श्रेणियों, टैग, टिप्पणियों, प्रमाणीकरण और भूमिका-आधारित पहुंच नियंत्रण के लिए मॉड्यूल सहित एक पूर्ण RESTful API प्रदान करता है ।

रिपॉजिटरी: https://github.com/bfotool/nestjs-mongodb-blog-base

NestJS MongoDB ब्लॉग API क्या है?

NestJS MongoDB ब्लॉग API एक ओपन-सोर्स बैकएंड टेम्प्लेट है जिसे NestJS 11 और MongoDB के साथ बनाया गया है और यह पूरी तरह से कार्यात्मक ब्लॉग REST API प्रदान करता है।

इसे निर्माण के लिए आधार के रूप में कार्य करने के लिए डिज़ाइन किया गया है:

  • ब्लॉग प्लेटफॉर्म

  • हेडलेस सीएमएस सिस्टम

  • सामग्री प्रकाशन एपीआई

  • दस्तावेज़ीकरण वेबसाइटें

  • डेवलपर पोर्टफोलियो ब्लॉग

यह प्रोजेक्ट NestJS द्वारा अनुशंसित मॉड्यूलर आर्किटेक्चर का अनुसरण करता है, जो स्केलेबिलिटी और मेंटेनेबिलिटी सुनिश्चित करता है।

रिपॉजिटरी: https://github.com/bfotool/nestjs-mongodb-blog-base

प्रमुख विशेषताऐं

सत्यापन और प्राधिकरण

इस एपीआई में जेडब्ल्यूटी टोकन का उपयोग करने वाली एक सुरक्षित प्रमाणीकरण प्रणाली शामिल है।

मुख्य प्रमाणीकरण सुविधाओं में शामिल हैं:

  • JWT एक्सेस और रिफ्रेश टोकन

  • भूमिका-आधारित पहुँच नियंत्रण(आरबीएसी)

  • bcrypt के साथ पासवर्ड हैशिंग

  • गार्ड्स का उपयोग करके संरक्षित एपीआई रूट

  • टोकन रीफ्रेश तंत्र

तीन डिफ़ॉल्ट उपयोगकर्ता भूमिकाएँ समर्थित हैं:

  • व्यवस्थापक

  • लेखक

  • पाठक

इससे विभिन्न एपीआई एंडपॉइंट्स पर अनुमतियों को प्रबंधित करना आसान हो जाता है।

पूर्ण ब्लॉग मॉड्यूल

इस परियोजना में कई पूर्णतः कार्यान्वित मॉड्यूल शामिल हैं जो ब्लॉग की सभी मुख्य कार्यक्षमताओं को कवर करते हैं।

प्रमाणीकरण मॉड्यूल

यह प्रमाणीकरण और उपयोगकर्ता सत्रों को संभालता है।

एंडपॉइंट्स में शामिल हैं:

  • POST /auth/register

  • POST /auth/login

  • POST /auth/refresh

  • POST /auth/logout

  • GET /auth/profile

उपयोगकर्ता मॉड्यूल

उपयोगकर्ता खातों और प्रोफाइलों का प्रबंधन करता है।

अंतिम बिंदु:

  • GET /users

  • GET /users/:id

  • PATCH /users/:id

  • DELETE /users/:id

लेखन कार्यों के लिए व्यवस्थापक अनुमतियों की आवश्यकता होती है ।

पोस्ट मॉड्यूल

पोस्ट मॉड्यूल ब्लॉग की सामग्री का प्रबंधन करता है।

विशेषताओं में शामिल हैं:

  • पृष्ठ पर अंक लगाना

  • श्रेणी, टैग या लेखक के आधार पर फ़िल्टर करना

  • छंटाई

  • पूरा पाठ खोजें

  • चुनिंदा पोस्ट्स

अंतिम बिंदु:

  • GET /posts

  • GET /posts/featured

  • GET /posts/:slug

  • POST /posts

  • PATCH /posts/:id

  • DELETE /posts/:id

श्रेणियाँ मॉड्यूल

ब्लॉग पोस्ट को श्रेणियों में व्यवस्थित करता है।

अंतिम बिंदु:

  • GET /categories

  • GET /categories/:slug

  • POST /categories

  • PATCH /categories/:id

  • DELETE /categories/:id

टैग मॉड्यूल

ब्लॉग पोस्ट के लिए लचीली टैगिंग की सुविधा देता है।

अंतिम बिंदु:

  • GET /tags

  • GET /tags/:slug

  • POST /tags

  • PATCH /tags/:id

  • DELETE /tags/:id

टिप्पणियाँ मॉड्यूल

यह कमेंट थ्रेड्स और नेस्टेड रिप्लाई को सपोर्ट करता है।

अंतिम बिंदु:

  • GET /comments/post/:postId

  • GET /comments/:id/replies

  • POST /comments

  • PATCH /comments/:id

  • DELETE /comments/:id

एपीआई क्षमताएं

पृष्ठ पर अंक लगाना

सभी लिस्ट एंडपॉइंट पेजिंग को सपोर्ट करते हैं।

उदाहरण:

GET /posts?page=1&limit=6

छनन

पोस्ट को श्रेणी, टैग या लेखक के आधार पर फ़िल्टर किया जा सकता है।

उदाहरण:

GET /posts?category=web-development

पूरा पाठ खोजें

पोस्ट पर खोज सुविधा लागू की गई है।

उदाहरण:

GET /posts?search=nestjs+mongodb

छंटाई

एपीआई प्रतिक्रियाओं को विभिन्न फ़ील्ड के आधार पर क्रमबद्ध किया जा सकता है।

उदाहरण:

GET /posts?sortBy=createdAt&sortOrder=desc

स्वचालित स्लग जनरेशन

पोस्ट बनाते समय, सिस्टम स्वचालित रूप से स्लगिफ़ाई का उपयोग करके शीर्षक से एक यूआरएल-अनुकूल स्लग उत्पन्न करता है ।

उदाहरण:

Building REST APIs with NestJS 
→ building-rest-apis-with-nestjs 

पढ़ने के समय की गणना

एपीआई स्वचालित रूप से पोस्ट की सामग्री की लंबाई के आधार पर अनुमानित पढ़ने के समय की गणना करता है।

सुसंगत एपीआई प्रतिक्रिया प्रारूप

सभी उत्तर एक मानक संरचना का पालन करते हैं:

{ 
  "success": true, 
  "data": {}, 
  "timestamp": "2026-01-01T10:00:00Z" 
} 

इससे फ्रंटएंड इंटीग्रेशन और डिबगिंग में सुधार होता है।

टेक्नोलॉजी स्टैक

इसका बैकएंड आधुनिक Node.js स्टैक का उपयोग करके बनाया गया है।

परत तकनीकी
रूपरेखा नेस्टजेएस 11
भाषा टाइपस्क्रिप्ट 5.7
डेटाबेस MongoDB 8
ओडीएम मंगूस 8
प्रमाणीकरण Passport.js + JWT
मान्यकरण क्लास-वैलिडेटर
एपीआई दस्तावेज़ीकरण स्वैगर ओपनएपीआई
पासवर्ड सुरक्षा बीक्रिप्ट
स्लग जनरेटर स्लगिफ़ाई
परीक्षण जेस्ट

परियोजना संरचना

यह परियोजना मॉड्यूलर आर्किटेक्चर पर आधारित है।

src/ 
├── auth/ 
├── users/ 
├── posts/ 
├── categories/ 
├── tags/ 
├── comments/ 
├── common/ 
└── seed/ 

महत्वपूर्ण घटकों में शामिल हैं:

  • डीटीओ सत्यापन

  • मोंगूस स्कीमा

  • वैश्विक अपवाद फ़िल्टर

  • प्रतिक्रिया अवरोधक

  • जेडब्ल्यूटी गार्ड

  • भूमिका सज्जाकार

यह संरचना कोडबेस को व्यवस्थित और स्केलेबल बनाए रखती है।

प्रोजेक्ट को इंस्टॉल और रन कैसे करें

आवश्यक शर्तें

इंस्टॉल करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित चीजें हैं:

  • Node.js 18.17+

  • MongoDB 6+

  • npm, yarn, या pnpm

रिपॉजिटरी को क्लोन करें

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

एपीआई बेस यूआरएल:

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]

स्वैगर एपीआई दस्तावेज़ीकरण

इंटरेक्टिव एपीआई दस्तावेज़ यहां उपलब्ध है:

http://localhost:3000/api/docs

स्वैगर निम्नलिखित सुविधाएँ प्रदान करता है:

  • इंटरेक्टिव एंडपॉइंट परीक्षण

  • JWT authenticationसहायता

  • अनुरोध और प्रतिक्रिया स्कीमा दस्तावेज़ीकरण

इस रिपॉजिटरी का उपयोग क्यों करें?

NestJS MongoDB ब्लॉग API आधुनिक ब्लॉग बैकएंड बनाने वाले डेवलपर्स के लिए एक शक्तिशाली शुरुआती बिंदु है।

इसके लाभों में शामिल हैं:

  • स्वच्छ NestJS मॉड्यूलर आर्किटेक्चर

  • अंतर्निर्मित प्रमाणीकरण और RBAC

  • स्वैगर एपीआई का तैयार दस्तावेज़

  • Mongoose का उपयोग करके MongoDB का एकीकरण

  • डेटाबेस सीडिंग सिस्टम

  • उत्पादन के लिए तैयार परियोजना संरचना

रिपॉजिटरी: https://github.com/bfotool/nestjs-mongodb-blog-base