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 प्रदान गर्दछ।

यो निर्माणको लागि जगको रूपमा काम गर्न डिजाइन गरिएको छ:

  • ब्लग प्लेटफर्महरू

  • हेडलेस CMS प्रणालीहरू

  • सामग्री प्रकाशन API हरू

  • कागजात वेबसाइटहरू

  • विकासकर्ता पोर्टफोलियो ब्लगहरू

यो परियोजनाले NestJS द्वारा सिफारिस गरिएको मोड्युलर वास्तुकलालाई पछ्याउँछ, स्केलेबिलिटी र मर्मतसम्भार सुनिश्चित गर्दै।

भण्डार: https://github.com/bfotool/nestjs-mongodb-blog-base

प्रमुख विशेषताहरू

प्रमाणीकरण र प्राधिकरण

API मा JWT टोकनहरू प्रयोग गरेर सुरक्षित प्रमाणीकरण प्रणाली समावेश छ।

मुख्य प्रमाणीकरण सुविधाहरू समावेश छन्:

  • JWT पहुँच र रिफ्रेस टोकनहरू

  • भूमिका-आधारित पहुँच नियन्त्रण(RBAC)

  • bcrypt सँग पासवर्ड ह्यासिङ

  • गार्डहरू प्रयोग गरेर सुरक्षित API मार्गहरू

  • टोकन रिफ्रेस संयन्त्र

तीन पूर्वनिर्धारित प्रयोगकर्ता भूमिकाहरू समर्थित छन्:

  • व्यवस्थापक

  • लेखक

  • पाठक

यसले विभिन्न API अन्त्य बिन्दुहरूमा अनुमतिहरू व्यवस्थापन गर्न सजिलो बनाउँछ।

पूर्ण ब्लग मोड्युलहरू

यस परियोजनामा ​​धेरै पूर्ण रूपमा कार्यान्वयन गरिएका मोड्युलहरू समावेश छन् जसले सबै मुख्य ब्लग कार्यक्षमतालाई समेट्छ।

प्रमाणीकरण मोड्युल

प्रमाणीकरण र प्रयोगकर्ता सत्रहरू ह्यान्डल गर्दछ।

अन्तिम बिन्दुहरूमा समावेश छन्:

  • 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

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 प्रयोग गरेर शीर्षकबाट स्वचालित रूपमा URL-मैत्री स्लग उत्पन्न गर्छ ।

उदाहरण:

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

पढ्ने समय गणना

API ले पोस्टहरूको सामग्री लम्बाइको आधारमा अनुमानित पठन समय स्वचालित रूपमा गणना गर्दछ।

सुसंगत API प्रतिक्रिया ढाँचा

सबै प्रतिक्रियाहरूले मानक संरचना पालना गर्छन्:

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

यसले फ्रन्टएन्ड एकीकरण र डिबगिङमा सुधार गर्छ।

प्रविधि स्ट्याक

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

तह प्रविधि
फ्रेमवर्क नेस्टजेएस ११
भाषा टाइपस्क्रिप्ट ५.७
डाटाबेस मोंगोडीबी ८
ODM का थप वस्तुहरू मुंगुस ८
प्रमाणीकरण पासपोर्ट.जेएस + जेडब्ल्यूटी
प्रमाणीकरण वर्ग-प्रमाणीकरणकर्ता
एपीआई कागजात स्वागर ओपनएपीआई
पासवर्ड सुरक्षा bcrypt ले
स्लग जेनेरेटर स्लगिफाइ गर्नुहोस्
परीक्षण ठट्टा

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

यो परियोजनाले मोड्युलर वास्तुकला पछ्याउँछ।

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

महत्त्वपूर्ण घटकहरू समावेश छन्:

  • DTO प्रमाणीकरण

  • मुंगुस स्किमाहरू

  • विश्वव्यापी अपवाद फिल्टरहरू

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

  • JWT गार्डहरू

  • भूमिका सजाउनेहरू

यो संरचनाले कोडबेसलाई व्यवस्थित र स्केलेबल राख्छ।

परियोजना कसरी स्थापना र चलाउने

पूर्व शर्तहरू

स्थापना गर्नु अघि, तपाईंसँग छ भनी सुनिश्चित गर्नुहोस्:

  • नोड.जेएस १८.१७+

  • MongoDB ६+

  • npm, धागो, वा 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

API आधार URL:

http://localhost:3000/api/v1

स्वागर कागजात:

http://localhost:3000/api/docs

पूर्वनिर्धारित सिड गरिएको डेटा

सिड स्क्रिप्टले परीक्षणको लागि नमूना डेटा उत्पन्न गर्छ।

निकाय गणना गर्नुहोस्
प्रयोगकर्ताहरू
कोटीहरू
ट्यागहरू २८
पोस्टहरू १०
प्रतिक्रियाहरु

पूर्वनिर्धारित लगइन प्रमाणहरू

सबै सिड गरिएका प्रयोगकर्ताहरूको लागि पासवर्ड:

admin123

खाताहरू:

भूमिका इमेल
व्यवस्थापक [email protected] मा जानुहोस्।
लेखक [email protected] मा लग इन गर्नुहोस्।
लेखक [email protected] मा सम्पर्क गर्नुहोस्।
लेखक [email protected] मा सम्पर्क गर्नुहोस्
पाठक [email protected] मा जानुहोस्।

स्वागर एपीआई कागजात

अन्तरक्रियात्मक API कागजातहरू यहाँ उपलब्ध छन्:

http://localhost:3000/api/docs

स्वागरले प्रदान गर्दछ:

  • अन्तरक्रियात्मक अन्तिम बिन्दु परीक्षण

  • JWT authenticationसमर्थन

  • अनुरोध र प्रतिक्रिया स्कीमा कागजातहरू

यो भण्डार किन प्रयोग गर्ने?

NestJS MongoDB ब्लग API आधुनिक ब्लग ब्याकएन्ड निर्माण गर्ने विकासकर्ताहरूको लागि एक शक्तिशाली सुरुवात बिन्दु हो।

फाइदाहरू समावेश छन्:

  • सफा NestJS मोड्युलर वास्तुकला

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

  • प्रयोग गर्न तयार Swagger API कागजातहरू

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

  • डाटाबेस रोपण प्रणाली

  • उत्पादन-तयार परियोजना संरचना

भण्डार: https://github.com/bfotool/nestjs-mongodb-blog-base