அளவிடக்கூடிய வலைப்பதிவு பின்தளத்தை உருவாக்குவதற்கு நன்கு கட்டமைக்கப்பட்ட கட்டமைப்பு, அங்கீகார அமைப்பு மற்றும் முறையாக ஆவணப்படுத்தப்பட்ட 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/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 ஐப் பயன்படுத்தி தலைப்பிலிருந்து URL-க்கு ஏற்ற ஸ்லக்கை உருவாக்குகிறது .
உதாரணமாக:
Building REST APIs with NestJS
→ building-rest-apis-with-nestjs
படிக்கும் நேரக் கணக்கீடு
இடுகைகளின் உள்ளடக்க நீளத்தின் அடிப்படையில் மதிப்பிடப்பட்ட வாசிப்பு நேரத்தை API தானாகவே கணக்கிடுகிறது.
நிலையான API மறுமொழி வடிவம்
அனைத்து பதில்களும் ஒரு நிலையான கட்டமைப்பைப் பின்பற்றுகின்றன:
{
"success": true,
"data": {},
"timestamp": "2026-01-01T10:00:00Z"
}
இது முன்பக்க ஒருங்கிணைப்பு மற்றும் பிழைத்திருத்தத்தை மேம்படுத்துகிறது.
தொழில்நுட்ப அடுக்கு
பின்தளம் நவீன Node.js அடுக்கைப் பயன்படுத்தி உருவாக்கப்பட்டுள்ளது.
| அடுக்கு | தொழில்நுட்பம் |
|---|---|
| கட்டமைப்பு | நெஸ்ட்ஜேஎஸ் 11 |
| மொழி | டைப்ஸ்கிரிப்ட் 5.7 |
| தரவுத்தளம் | மோங்கோடிபி 8 |
| ODM என்பது | முங்கூஸ் 8 |
| அங்கீகாரம் | பாஸ்போர்ட்.ஜேஎஸ் + ஜேடபிள்யூடி |
| சரிபார்ப்பு | வகுப்பு-சரிபார்ப்பான் |
| API ஆவணம் | ஸ்வாகர் ஓபன்ஏபிஐ |
| கடவுச்சொல் பாதுகாப்பு | பி கிரிப்ட் |
| ஸ்லக் ஜெனரேட்டர் | ஸ்லகிஃபை செய் |
| சோதனை | நகைச்சுவை |
திட்ட அமைப்பு
இந்த திட்டம் ஒரு மட்டு கட்டமைப்பைப் பின்பற்றுகிறது.
src/
├── auth/
├── users/
├── posts/
├── categories/
├── tags/
├── comments/
├── common/
└── seed/
முக்கியமான கூறுகள் பின்வருமாறு:
DTO சரிபார்ப்பு
முங்கூஸ் திட்டங்கள்
உலகளாவிய விதிவிலக்கு வடிப்பான்கள்
பதில் இடைமறிப்பாளர்கள்
JWT காவலர்கள்
பாத்திர அலங்காரக்காரர்கள்
இந்த அமைப்பு குறியீட்டுத் தளத்தை ஒழுங்கமைத்து அளவிடக்கூடியதாக வைத்திருக்கிறது.
திட்டத்தை எவ்வாறு நிறுவுவது மற்றும் இயக்குவது
முன்நிபந்தனைகள்
நிறுவுவதற்கு முன், உங்களிடம் உள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்:
நோட்.ஜேஎஸ் 18.17+
மோங்கோடிபி 6+
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
இயல்புநிலை விதை தரவு
விதை ஸ்கிரிப்ட் சோதனைக்கான மாதிரி தரவை உருவாக்குகிறது.
| நிறுவனம் | எண்ணிக்கை |
|---|---|
| பயனர்கள் | 5 |
| வகைகள் | 5 |
| குறிச்சொற்கள்: | 28 தமிழ் |
| இடுகைகள் | 10 |
| கருத்துகள் | 6 |
இயல்புநிலை உள்நுழைவு சான்றுகள்
அனைத்து சீட் செய்யப்பட்ட பயனர்களுக்கான கடவுச்சொல்:
admin123
கணக்குகள்:
| பங்கு | மின்னஞ்சல் |
|---|---|
| நிர்வாகம் | [email protected] |
| ஆசிரியர் | [email protected] |
| ஆசிரியர் | [email protected] |
| ஆசிரியர் | [email protected] |
| வாசகர் | [email protected] |
ஸ்வாகர் API ஆவணம்
ஊடாடும் API ஆவணங்கள் இங்கே கிடைக்கின்றன:
http://localhost:3000/api/docs
ஸ்வாகர் வழங்குகிறது:
ஊடாடும் முனைப்புள்ளி சோதனை
JWT authenticationஆதரவு
கோரிக்கை மற்றும் பதில் திட்ட ஆவணங்கள்
இந்த களஞ்சியத்தை ஏன் பயன்படுத்த வேண்டும்
நவீன வலைப்பதிவு பின்தளத்தை உருவாக்கும் டெவலப்பர்களுக்கு NestJS MongoDB வலைப்பதிவு API ஒரு சக்திவாய்ந்த தொடக்கப் புள்ளியாகும் .
நன்மைகள் பின்வருமாறு:
சுத்தமான NestJS மாடுலர் கட்டமைப்பு
உள்ளமைக்கப்பட்ட அங்கீகாரம் மற்றும் RBAC
பயன்படுத்தத் தயாராக உள்ள ஸ்வாகர் API ஆவணங்கள்
மங்கூஸைப் பயன்படுத்தி மோங்கோடிபி ஒருங்கிணைப்பு
தரவுத்தள விதைப்பு அமைப்பு
உற்பத்திக்குத் தயாரான திட்ட அமைப்பு
களஞ்சியம்: https://github.com/bfotool/nestjs-mongodb-blog-base



