नेस्टजेएस मोंगोडीबी ब्लॉग एपीआय टेम्पलेट- ब्लॉगसाठी पूर्ण वैशिष्ट्यीकृत REST बॅकएंड

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

हा प्रकल्प वापरकर्ते, पोस्ट, श्रेणी, टॅग, टिप्पण्या, प्रमाणीकरण आणि भूमिका-आधारित प्रवेश नियंत्रण यासाठी मॉड्यूलसह ​​संपूर्ण RESTful API प्रदान करतो .

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

नेस्टजेएस मोंगोडीबी ब्लॉग एपीआय म्हणजे काय?

नेस्टजेएस मोंगोडीबी ब्लॉग एपीआय हे नेस्टजेएस ११ आणि मोंगोडीबी वापरून बनवलेले ओपन-सोर्स बॅकएंड टेम्पलेट आहे जे पूर्णपणे कार्यशील ब्लॉग REST एपीआय प्रदान करते.

हे बांधकामासाठी पाया म्हणून काम करण्यासाठी डिझाइन केलेले आहे:

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

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

  • सामग्री प्रकाशन 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 स्टॅक वापरून तयार केला आहे.

थर तंत्रज्ञान
फ्रेमवर्क नेस्टजेएस ११
भाषा टाइपस्क्रिप्ट ५.७
डेटाबेस मोंगोडीबी ८
ओडीएम मुंगूस ८
प्रमाणीकरण पासपोर्ट.जेएस + जेडब्ल्यूटी
प्रमाणीकरण वर्ग-प्रमाणीकरणकर्ता
एपीआय दस्तऐवजीकरण स्वॅगर ओपनएपीआय
पासवर्ड सुरक्षा बीक्रिप्ट
स्लग जनरेटर स्लगीफाय करा
चाचणी विनोद

प्रकल्प रचना

हा प्रकल्प मॉड्यूलर आर्किटेक्चरचे अनुसरण करतो.

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

महत्वाचे घटक समाविष्ट आहेत:

  • डीटीओ प्रमाणीकरण

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

  • जागतिक अपवाद फिल्टर

  • प्रतिसाद इंटरसेप्टर्स

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

  • भूमिका सजवणारे

ही रचना कोडबेस व्यवस्थित आणि स्केलेबल ठेवते.

प्रोजेक्ट कसा इन्स्टॉल करायचा आणि चालवायचा

पूर्वतयारी

स्थापित करण्यापूर्वी, तुमच्याकडे असल्याची खात्री करा:

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

  • मोंगोडीबी ६+

  • 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] वर ईमेल करा.

स्वॅगर एपीआय दस्तऐवजीकरण

इंटरॅक्टिव्ह एपीआय दस्तऐवजीकरण येथे उपलब्ध आहे:

http://localhost:3000/api/docs

स्वॅगर प्रदान करते:

  • परस्परसंवादी एंडपॉइंट चाचणी

  • JWT authenticationआधार

  • विनंती आणि प्रतिसाद स्कीमा दस्तऐवजीकरण

हे भांडार का वापरावे

आधुनिक ब्लॉग बॅकएंड तयार करणाऱ्या डेव्हलपर्ससाठी NestJS MongoDB ब्लॉग API हा एक शक्तिशाली प्रारंभ बिंदू आहे .

फायद्यांमध्ये हे समाविष्ट आहे:

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

  • अंगभूत प्रमाणीकरण आणि RBAC

  • वापरण्यास तयार स्वॅगर एपीआय दस्तऐवजीकरण

  • मुंगूस वापरून मोंगोडीबी एकत्रीकरण

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

  • उत्पादनासाठी तयार प्रकल्प रचना

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