Gina shafin yanar gizo mai girman gaske yana buƙatar tsarin gine-gine mai kyau, tsarin tantancewa, da kuma APIs masu inganci. NestJS MongoDB Blog API wani samfuri ne na baya-bayan da aka shirya don samarwa wanda aka tsara don taimakawa masu haɓakawa su gina dandamali na zamani ta amfani da takardun NestJS, MongoDB,, JWT authenticationda Swagger cikin sauri .
Wannan aikin yana samar da cikakken RESTful API wanda ya haɗa da kayayyaki ga masu amfani, rubuce-rubuce, rukunoni, alamomi, tsokaci, tantancewa, da kuma sarrafa shiga bisa ga rawar .
Ma'ajiyar ajiya: https://github.com/bfotool/nestjs-mongodb-blog-base
Menene NestJS MongoDB Blog API
NestJS MongoDB Blog API wani samfuri ne na baya-bayan da aka gina tare da NestJS 11 da MongoDB wanda ke ba da cikakken aikin REST API na blog.
An tsara shi don zama harsashin gini:
Dandalin Blog
Tsarin CMS mara kai
APIs na Buga abun ciki
Shafukan yanar gizo na takardu
Blogs ɗin fayil na masu haɓakawa
Aikin yana bin tsarin gine-gine na zamani da NestJS ta ba da shawarar, wanda ke tabbatar da daidaito da kuma dorewa.
Ma'ajiyar ajiya: https://github.com/bfotool/nestjs-mongodb-blog-base
Mahimman Sifofi
Tabbatarwa da Izini
API ɗin ya haɗa da tsarin tabbatarwa mai tsaro ta amfani da alamun JWT.
Babban fasalulluka na tantancewa sun haɗa da:
Alamar Samun dama da Sabuntawa ta JWT
Sarrafa Samun Shiga Bisa Matsayin Aiki(RBAC)
Hacking kalmar sirri tare da bcrypt
Hanyoyin API masu kariya ta amfani da Guards
Tsarin sabunta alama
Ana tallafawa ayyukan masu amfani guda uku na asali:
Mai Gudanarwa
Marubuci
Mai karatu
Wannan yana sauƙaƙa sarrafa izini a duk faɗin ƙarshen API daban-daban.
Cikakken Kayan Blog
Aikin ya ƙunshi wasu kayayyaki da aka aiwatar da su gaba ɗaya waɗanda suka shafi dukkan ayyukan babban shafin yanar gizo.
Tsarin Izini
Yana kula da tabbatarwa da zaman masu amfani.
Maƙallan ƙarshe sun haɗa da:
POST /auth/registerPOST /auth/loginPOST /auth/refreshPOST /auth/logoutGET /auth/profile
Tsarin Masu Amfani
Yana kula da asusun masu amfani da bayanan martaba.
Maƙallan Ƙarshe:
GET /usersGET /users/:idPATCH /users/:idDELETE /users/:id
Ayyukan rubutu suna buƙatar izinin gudanarwa .
Tsarin Saƙonni
Tsarin rubutun yana sarrafa abubuwan da ke cikin shafin yanar gizo.
Fasaloli sun haɗa da:
Shafin shafi
Tacewa ta rukuni, alama, ko marubuci
Rarrabawa
Binciken cikakken rubutu
Rubuce-rubucen da aka fi so
Maƙallan Ƙarshe:
GET /postsGET /posts/featuredGET /posts/:slugPOST /postsPATCH /posts/:idDELETE /posts/:id
Nau'in Rukuni
Yana tsara rubuce-rubucen blog zuwa rukuni-rukuni.
Maƙallan Ƙarshe:
GET /categoriesGET /categories/:slugPOST /categoriesPATCH /categories/:idDELETE /categories/:id
Alamun Maɓalli
Yana ba da damar yin alama mai sassauƙa ga rubuce-rubucen blog.
Maƙallan Ƙarshe:
GET /tagsGET /tags/:slugPOST /tagsPATCH /tags/:idDELETE /tags/:id
Tsarin Sharhi
Yana goyan bayan zaren sharhi da amsoshi masu tsari.
Maƙallan Ƙarshe:
GET /comments/post/:postIdGET /comments/:id/repliesPOST /commentsPATCH /comments/:idDELETE /comments/:id
Ƙarfin API
Shafin shafi
Duk ƙarshen jerin suna tallafawa rubutun shafi.
Misali:
GET /posts?page=1&limit=6
Tacewa
Ana iya tace rubuce-rubuce ta hanyar rukuni, tag, ko marubuci.
Misali:
GET /posts?category=web-development
Binciken Cikakken Rubutu
Ana aiwatar da aikin bincike a kan rubuce-rubuce.
Misali:
GET /posts?search=nestjs+mongodb
Rarrabawa
Ana iya tsara amsoshin API ta fannoni daban-daban.
Misali:
GET /posts?sortBy=createdAt&sortOrder=desc
Samar da Tushen Lalacewa ta atomatik
Lokacin ƙirƙirar rubuce-rubuce, tsarin yana samar da slug mai dacewa da URL ta atomatik daga taken ta amfani da slugify .
Misali:
Building REST APIs with NestJS
→ building-rest-apis-with-nestjs
Lissafin Lokacin Karatu
API ɗin yana ƙididdige lokacin karatu ta atomatik bisa ga tsawon abubuwan da aka rubuta.
Tsarin Amsar API Mai Daidaito
Duk amsoshin suna bin tsari na yau da kullun:
{
"success": true,
"data": {},
"timestamp": "2026-01-01T10:00:00Z"
}
Wannan yana inganta haɗin frontend da kuma gyara kurakurai.
Tarin Fasaha
An gina ƙarshen baya ta amfani da tsarin Node.js na zamani.
| Layer | Fasaha |
|---|---|
| Tsarin tsari | NestJS 11 |
| Harshe | Rubutun Nau'i 5.7 |
| Bayanan Bayanai | MongoDB 8 |
| ODM | Mongoose 8 |
| Tabbatarwa | Fasfo.js + JWT |
| Tabbatarwa | mai tantance aji |
| Takardun API | Buɗen API na Swagger |
| Tsaron Kalmar Sirri | bcrypt |
| Janareta mai cutar kanjamau | slugify |
| Gwaji | Wasa |
Tsarin Aiki
Aikin yana bin tsarin gine-gine na zamani.
src/
├── auth/
├── users/
├── posts/
├── categories/
├── tags/
├── comments/
├── common/
└── seed/
Muhimman abubuwan sun haɗa da:
Tabbatar da DTO
Tsarin Mongoose
Matatun banda na duniya
Masu katse martani
Masu gadi na JWT
Masu yin ado
Wannan tsari yana sa tushen code ya kasance mai tsari da kuma iya daidaitawa.
Yadda ake Shigarwa da Gudanar da Aikin
Abubuwan da ake buƙata kafin lokaci
Kafin shigarwa, tabbatar kana da:
Node.js 18.17+
MongoDB 6+
npm, yarn, ko pnpm
Clone da Ma'ajiyar
git clone https://github.com/bfotool/nestjs-mongodb-blog-base
cd nestjs-mongodb-blog-base
Shigar da Dogara
npm install
Saita Canjin Muhalli
Kwafi fayil ɗin muhallin misali:
cp .env.example .env
Sabunta waɗannan dabi'u:
MONGODB_URI=
JWT_ACCESS_SECRET=
JWT_REFRESH_SECRET=
Tsara Bayanan
Cika bayanai tare da samfurin bayanai:
npm run seed
Don sake saitawa da sake shukawa:
npm run seed:refresh
Fara Sabar Ci Gaban
npm run start:dev
URL ɗin tushen API:
http://localhost:3000/api/v1
Dokokin Swagger:
http://localhost:3000/api/docs
Bayanan da aka Tsara a Tsohuwar
Rubutun iri yana samar da samfurin bayanai don gwaji.
| Ƙungiya | Ƙidaya |
|---|---|
| Masu amfani | 5 |
| Rukuni | 5 |
| Alamomi | 28 |
| Sakonni | 10 |
| Sharhi | 6 |
Takardun Shiga na Tsohuwa
Kalmar sirri ga duk masu amfani da aka yi wa rajista:
admin123
Asusun:
| Matsayin | Imel |
|---|---|
| Mai Gudanarwa | [email protected] |
| Marubuci | [email protected] |
| Marubuci | [email protected] |
| Marubuci | [email protected] |
| Mai karatu | [email protected] |
Takardun API na Swagger
Ana samun takaddun API na hulɗa a:
http://localhost:3000/api/docs
Swagger yana bayar da:
Gwajin ƙarshen hulɗa
JWT authenticationtallafi
Takardun tsari na buƙata da amsawa
Me yasa ake amfani da wannan Ma'ajiyar
NestJS MongoDB Blog API wuri ne mai ƙarfi ga masu haɓaka haɓaka waɗanda ke gina tushen baya na zamani na blog.
Fa'idodi sun haɗa da:
Tsabtace tsarin gine-gine na NestJS
Ingantaccen tabbaci da RBAC
Takardun API na Swagger da ake shirye don amfani
Haɗin MongoDB ta amfani da Mongoose
Tsarin shuka bayanai
Tsarin aikin da aka shirya don samarwa
Ma'ajiyar ajiya: https://github.com/bfotool/nestjs-mongodb-blog-base



