Kujenga sehemu ya nyuma ya blogu inayoweza kupanuliwa kunahitaji usanifu uliopangwa vizuri, mfumo wa uthibitishaji, na API zilizoandikwa ipasavyo. API ya Blogu ya NestJS MongoDB ni kiolezo cha sehemu ya nyuma kilicho tayari kwa uzalishaji kilichoundwa ili kuwasaidia wasanidi programu kujenga haraka majukwaa ya kisasa ya blogu kwa kutumia nyaraka za NestJS, MongoDB, JWT authentication, na Swagger .
Mradi huu hutoa API kamili ya RESTful ikijumuisha moduli za watumiaji, machapisho, kategoria, lebo, maoni, uthibitishaji, na udhibiti wa ufikiaji unaotegemea majukumu .
Hifadhi: https://github.com/bfotool/nestjs-mongodb-blog-base
API ya Blogu ya NestJS MongoDB ni nini?
API ya Blogu ya NestJS MongoDB ni kiolezo cha nyuma cha chanzo huria kilichojengwa kwa NestJS 11 na MongoDB ambacho hutoa API ya REST ya blogu inayofanya kazi kikamilifu.
Imeundwa kutumika kama msingi wa kujenga:
Mifumo ya blogu
Mifumo ya CMS isiyo na vichwa
API za uchapishaji wa maudhui
Tovuti za nyaraka
Blogu za kwingineko za wasanidi programu
Mradi huu unafuata usanifu wa moduli uliopendekezwa na NestJS, kuhakikisha upanukaji na uendelevu.
Hifadhi: https://github.com/bfotool/nestjs-mongodb-blog-base
Vipengele Muhimu
Uthibitishaji na Uidhinishaji
API inajumuisha mfumo salama wa uthibitishaji unaotumia tokeni za JWT.
Vipengele vikuu vya uthibitishaji ni pamoja na:
Tokeni za Ufikiaji na Uboreshaji wa JWT
Udhibiti wa Ufikiaji Unaotegemea Majukumu(RBAC)
Kuweka nenosiri kwa kutumia bcrypt
Njia za API zilizolindwa kwa kutumia Walinzi
Utaratibu wa kuonyesha upya tokeni
Majukumu matatu chaguo-msingi ya mtumiaji yanaungwa mkono:
Msimamizi
Mwandishi
Msomaji
Hii hurahisisha kudhibiti ruhusa katika sehemu tofauti za mwisho za API.
Moduli Kamili za Blogu
Mradi huu unajumuisha moduli kadhaa zilizotekelezwa kikamilifu zinazoshughulikia utendaji kazi wote wa msingi wa blogu.
Moduli ya Uidhinishaji
Hushughulikia uthibitishaji na vipindi vya mtumiaji.
Sehemu za mwisho ni pamoja na:
POST /auth/registerPOST /auth/loginPOST /auth/refreshPOST /auth/logoutGET /auth/profile
Moduli ya Watumiaji
Hudhibiti akaunti na wasifu wa watumiaji.
Sehemu za mwisho:
GET /usersGET /users/:idPATCH /users/:idDELETE /users/:id
Shughuli za kuandika zinahitaji ruhusa za Msimamizi .
Moduli ya Machapisho
Moduli ya machapisho hudhibiti maudhui ya blogu.
Vipengele ni pamoja na:
Upagani
Kuchuja kwa kategoria, lebo, au mwandishi
Kupanga
Utafutaji wa maandishi kamili
Machapisho yaliyoangaziwa
Sehemu za mwisho:
GET /postsGET /posts/featuredGET /posts/:slugPOST /postsPATCH /posts/:idDELETE /posts/:id
Moduli ya Aina
Hupanga machapisho ya blogu katika kategoria.
Sehemu za mwisho:
GET /categoriesGET /categories/:slugPOST /categoriesPATCH /categories/:idDELETE /categories/:id
Moduli ya Lebo
Huruhusu utambulisho rahisi kwa machapisho ya blogu.
Sehemu za mwisho:
GET /tagsGET /tags/:slugPOST /tagsPATCH /tags/:idDELETE /tags/:id
Moduli ya Maoni
Inasaidia nyuzi za maoni na majibu yaliyopangwa.
Sehemu za mwisho:
GET /comments/post/:postIdGET /comments/:id/repliesPOST /commentsPATCH /comments/:idDELETE /comments/:id
Uwezo wa API
Upagani
Sehemu zote za mwisho za orodha zinaunga mkono uundaji wa kurasa.
Mfano:
GET /posts?page=1&limit=6
Kuchuja
Machapisho yanaweza kuchujwa kwa kategoria, lebo, au mwandishi.
Mfano:
GET /posts?category=web-development
Utafutaji wa Maandishi Kamili
Utendaji wa utafutaji unatekelezwa kwenye machapisho.
Mfano:
GET /posts?search=nestjs+mongodb
Kupanga
Majibu ya API yanaweza kupangwa kwa sehemu tofauti.
Mfano:
GET /posts?sortBy=createdAt&sortOrder=desc
Uzalishaji wa Koa Kiotomatiki
Wakati wa kuunda machapisho, mfumo hutoa kiotomatiki slug inayofaa URL kutoka kwa kichwa kwa kutumia slugify .
Mfano:
Building REST APIs with NestJS
→ building-rest-apis-with-nestjs
Hesabu ya Muda wa Kusoma
API huhesabu kiotomatiki muda uliokadiriwa wa kusoma kulingana na urefu wa maudhui ya machapisho.
Muundo wa Majibu ya API Sambamba
Majibu yote yanafuata muundo wa kawaida:
{
"success": true,
"data": {},
"timestamp": "2026-01-01T10:00:00Z"
}
Hii inaboresha ujumuishaji na utatuzi wa umbizo la mbele.
Mrundiko wa Teknolojia
Sehemu ya nyuma imejengwa kwa kutumia rafu ya kisasa ya Node.js.
| Safu | Teknolojia |
|---|---|
| Mfumo | NestJS 11 |
| Lugha | Hati ya Aina 5.7 |
| Hifadhidata | MongoDB 8 |
| ODM | Mongoose 8 |
| Uthibitishaji | Passport.js + JWT |
| Uthibitisho | kithibitishaji cha darasa |
| Nyaraka za API | Swagger OpenAPI |
| Usalama wa Nenosiri | bcrypt |
| Jenereta ya Konokono | slugify |
| Upimaji | Mzaha |
Muundo wa Mradi
Mradi huu unafuata usanifu wa moduli.
src/
├── auth/
├── users/
├── posts/
├── categories/
├── tags/
├── comments/
├── common/
└── seed/
Vipengele muhimu ni pamoja na:
Uthibitisho wa DTO
Michoro ya mongoose
Vichujio vya kimataifa vya ubaguzi
Vizuia majibu
Walinzi wa JWT
Wapambaji wa majukumu
Muundo huu huweka msingi wa msimbo ukiwa umepangwa na kuweza kupanuliwa.
Jinsi ya Kusakinisha na Kuendesha Mradi
Masharti ya awali
Kabla ya kusakinisha, hakikisha una:
Node.js 18.17+
MongoDB 6+
npm, uzi, au pnpm
Clone Hifadhi
git clone https://github.com/bfotool/nestjs-mongodb-blog-base
cd nestjs-mongodb-blog-base
Utegemezi wa Usakinishaji
npm install
Sanidi Vigezo vya Mazingira
Nakili faili ya mfano wa mazingira:
cp .env.example .env
Sasisha thamani zifuatazo:
MONGODB_URI=
JWT_ACCESS_SECRET=
JWT_REFRESH_SECRET=
Mbegu Hifadhidata
Jaza hifadhidata na data ya sampuli:
npm run seed
Ili kuweka upya na kupanda mbegu upya:
npm run seed:refresh
Anzisha Seva ya Usanidi
npm run start:dev
URL ya msingi wa API:
http://localhost:3000/api/v1
Nyaraka za Swagger:
http://localhost:3000/api/docs
Data Chaguo-Msingi Iliyopandwa
Hati ya mbegu hutoa data ya sampuli kwa ajili ya majaribio.
| Huluki | Hesabu |
|---|---|
| Watumiaji | 5 |
| Aina | 5 |
| Lebo | 28 |
| Machapisho | 10 |
| Maoni | 6 |
Kitambulisho Chaguo-Msingi cha Kuingia
Nenosiri kwa watumiaji wote waliopewa mbegu:
admin123
Akaunti:
| Jukumu | Barua pepe |
|---|---|
| Msimamizi | [email protected] |
| Mwandishi | [email protected] |
| Mwandishi | [email protected] |
| Mwandishi | [email protected] |
| Msomaji | [email protected] |
Nyaraka za API ya Swagger
Nyaraka shirikishi za API zinapatikana katika:
http://localhost:3000/api/docs
Swagger hutoa:
Jaribio shirikishi la sehemu ya mwisho
JWT authenticationusaidizi
Nyaraka za mpango wa ombi na majibu
Kwa Nini Utumie Hifadhi Hii
API ya Blogu ya NestJS MongoDB ni sehemu muhimu ya kuanzia kwa watengenezaji wa programu wanaounda sehemu ya nyuma ya blogu ya kisasa.
Faida ni pamoja na:
Safisha usanifu wa moduli wa NestJS
Uthibitishaji uliojengewa ndani na RBAC
Nyaraka za API ya Swagger zilizo tayari kutumika
Muunganisho wa MongoDB kwa kutumia Mongoose
Mfumo wa upandaji wa hifadhidata
Muundo wa mradi ulio tayari kwa uzalishaji
Hifadhi: https://github.com/bfotool/nestjs-mongodb-blog-base



