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