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 સ્ટેકનો ઉપયોગ કરીને બનાવવામાં આવ્યો છે.

સ્તર ટેકનોલોજી
ફ્રેમવર્ક નેસ્ટજેએસ ૧૧
ભાષા ટાઇપસ્ક્રિપ્ટ 5.7
ડેટાબેઝ મોંગોડીબી 8
ઓડીએમ મંગૂસ 8
પ્રમાણીકરણ પાસપોર્ટ.જેએસ + જેડબ્લ્યુટી
માન્યતા વર્ગ-માન્યકર્તા
API દસ્તાવેજીકરણ સ્વેગર ઓપનએપીઆઈ
પાસવર્ડ સુરક્ષા બીક્રિપ્ટ
સ્લગ જનરેટર સ્લગિફાઇ
પરીક્ષણ મજાક

પ્રોજેક્ટ માળખું

આ પ્રોજેક્ટ મોડ્યુલર આર્કિટેક્ચરને અનુસરે છે.

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

મહત્વપૂર્ણ ઘટકોમાં શામેલ છે:

  • ડીટીઓ માન્યતા

  • મંગૂસ સ્કીમા

  • વૈશ્વિક અપવાદ ફિલ્ટર્સ

  • પ્રતિભાવ ઇન્ટરસેપ્ટર્સ

  • JWT ગાર્ડ્સ

  • રોલ ડેકોરેટર્સ

આ માળખું કોડબેઝને વ્યવસ્થિત અને સ્કેલેબલ રાખે છે.

પ્રોજેક્ટ કેવી રીતે ઇન્સ્ટોલ અને રન કરવો

પૂર્વજરૂરીયાતો

ઇન્સ્ટોલ કરતા પહેલા, ખાતરી કરો કે તમારી પાસે છે:

  • નોડ.જેએસ ૧૮.૧૭+

  • મોંગોડીબી 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

ડિફોલ્ટ સીડેડ ડેટા

સીડ સ્ક્રિપ્ટ પરીક્ષણ માટે નમૂના ડેટા જનરેટ કરે છે.

એન્ટિટી ગણતરી
વપરાશકર્તાઓ
શ્રેણીઓ
ટૅગ્સ ૨૮
પોસ્ટ્સ ૧૦
ટિપ્પણીઓ 6

ડિફોલ્ટ લોગિન ઓળખપત્રો

બધા સીડેડ વપરાશકર્તાઓ માટે પાસવર્ડ:

admin123

એકાઉન્ટ્સ:

ભૂમિકા ઇમેઇલ
એડમિન એડમિન@Bfotool.com
લેખક [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