Il-bini ta' backend ta' blog skalabbli jeħtieġ arkitettura strutturata sew, sistema ta' awtentikazzjoni, u APIs dokumentati kif suppost. L- API tal-Blog NestJS MongoDB hija mudell ta' backend lest għall-produzzjoni ddisinjat biex jgħin lill-iżviluppaturi jibnu malajr pjattaformi moderni ta' blog bl-użu tad-dokumentazzjoni ta ' NestJS, MongoDB, JWT authenticationu Swagger .
Dan il-proġett jipprovdi API RESTful kompluta inklużi moduli għall -utenti, postijiet, kategoriji, tikketti, kummenti, awtentikazzjoni, u kontroll tal-aċċess ibbażat fuq ir-rwol .
Repożitorju: https://github.com/bfotool/nestjs-mongodb-blog-base
X'inhi l-API tal-Blog NestJS MongoDB?
L -API tal-Blog NestJS MongoDB hija template backend open-source mibni b'NestJS 11 u MongoDB li jipprovdi API REST għall-blog kompletament funzjonali.
Huwa ddisinjat biex iservi bħala bażi għall-bini ta':
Pjattaformi tal-blog
Sistemi CMS mingħajr ras
APIs tal-pubblikazzjoni tal-kontenut
Websajts ta' dokumentazzjoni
Blogs tal-portafoll tal-iżviluppaturi
Il-proġett isegwi l- arkitettura modulari rakkomandata minn NestJS, u jiżgura l-iskalabbiltà u l-manutenzjoni.
Repożitorju: https://github.com/bfotool/nestjs-mongodb-blog-base
Karatteristiċi Ewlenin
Awtentikazzjoni u Awtorizzazzjoni
L-API tinkludi sistema ta' awtentikazzjoni sigura bl-użu ta' tokens JWT.
Il-karatteristiċi ewlenin tal-awtentikazzjoni jinkludu:
Tokens ta' Aċċess u Aġġornament tal-JWT
Kontroll tal-Aċċess Ibbażat fuq ir-Rwoli(RBAC)
Hashing tal-passwords bil-bcrypt
Rotot tal-API protetti bl-użu ta' Guards
Mekkaniżmu ta' aġġornament tat-token
Tliet rwoli tal-utent awtomatiċi huma appoġġjati:
Amministratur
Awtur
Qarrej
Dan jagħmilha faċli biex timmaniġġja l-permessi fuq endpoints differenti tal-API.
Moduli Sħaħ tal-Blog
Il-proġett jinkludi diversi moduli implimentati bis-sħiħ li jkopru l-funzjonalità ewlenija kollha tal-blog.
Modulu tal-Awtorizzazzjoni
Jimmaniġġja l-awtentikazzjoni u s-sessjonijiet tal-utent.
L-endpoints jinkludu:
POST /auth/registerPOST /auth/loginPOST /auth/refreshPOST /auth/logoutGET /auth/profile
Modulu tal-Utenti
Jimmaniġġja l-kontijiet u l-profili tal-utenti.
Punti tat-tmiem:
GET /usersGET /users/:idPATCH /users/:idDELETE /users/:id
L-operazzjonijiet tal-kitba jeħtieġu permessi ta' Amministratur .
Modulu tal-Posts
Il-modulu tal-postijiet jimmaniġġja l-kontenut tal-blog.
Il-karatteristiċi jinkludu:
Paġinazzjoni
Iffiltrar skont il-kategorija, it-tikketta, jew l-awtur
Issortjar
Tiftix ta' test sħiħ
Postijiet Dehru
Punti tat-tmiem:
GET /postsGET /posts/featuredGET /posts/:slugPOST /postsPATCH /posts/:idDELETE /posts/:id
Modulu tal-Kategoriji
Jorganizza l-postijiet tal-blog f'kategoriji.
Punti tat-tmiem:
GET /categoriesGET /categories/:slugPOST /categoriesPATCH /categories/:idDELETE /categories/:id
Modulu tat-Tikketti
Jippermetti tagging flessibbli għal postijiet tal-blog.
Punti tat-tmiem:
GET /tagsGET /tags/:slugPOST /tagsPATCH /tags/:idDELETE /tags/:id
Modulu tal-Kummenti
Jappoġġja ħjut ta' kummenti u tweġibiet imdaħħla f'xulxin.
Punti tat-tmiem:
GET /comments/post/:postIdGET /comments/:id/repliesPOST /commentsPATCH /comments/:idDELETE /comments/:id
Kapaċitajiet tal-API
Paġinazzjoni
L-endpoints kollha tal-lista jappoġġjaw il-paġinazzjoni.
Eżempju:
GET /posts?page=1&limit=6
Iffiltrar
Il-postijiet jistgħu jiġu ffiltrati skont il-kategorija, it-tikketta, jew l-awtur.
Eżempju:
GET /posts?category=web-development
Tiftix ta' Test Sħiħ
Il-funzjonalità tat-tiftix hija implimentata fuq il-postijiet.
Eżempju:
GET /posts?search=nestjs+mongodb
Issortjar
Ir-risposti tal-API jistgħu jiġu kklassifikati skont oqsma differenti.
Eżempju:
GET /posts?sortBy=createdAt&sortOrder=desc
Ġenerazzjoni Awtomatika ta' Slug
Meta toħloq postijiet, is-sistema awtomatikament tiġġenera slug li jiffavorixxi l-URL mit-titlu billi tuża slugify .
Eżempju:
Building REST APIs with NestJS
→ building-rest-apis-with-nestjs
Kalkolu tal-Ħin tal-Qari
L-API tikkalkula awtomatikament il-ħin stmat tal-qari bbażat fuq it-tul tal-kontenut tal-postijiet.
Format ta' Rispons tal-API Konsistenti
Ir-risposti kollha jsegwu struttura standard:
{
"success": true,
"data": {},
"timestamp": "2026-01-01T10:00:00Z"
}
Dan itejjeb l-integrazzjoni u d-debugging tal-frontend.
Munzell tat-Teknoloġija
Il-backend huwa mibni bl-użu ta' stack Node.js modern.
| Saff | Teknoloġija |
|---|---|
| Qafas | NestJS 11 |
| Lingwa | TypeScript 5.7 |
| Database | MongoDB 8 |
| ODM | Mangusta 8 |
| Awtentikazzjoni | Passport.js + JWT |
| Validazzjoni | validatur tal-klassi |
| Dokumentazzjoni tal-API | Swagger OpenAPI |
| Sigurtà tal-Password | bcrypt |
| Ġeneratur tal-Ballut | slugify |
| Ittestjar | Ċajta |
Struttura tal-Proġett
Il-proġett isegwi arkitettura modulari.
src/
├── auth/
├── users/
├── posts/
├── categories/
├── tags/
├── comments/
├── common/
└── seed/
Komponenti importanti jinkludu:
Validazzjoni tad-DTO
Skemi tal-mangusta
Filtri ta' eċċezzjoni globali
Interċettaturi tar-rispons
Gwardji tal-JWT
Dekoraturi tar-rwoli
Din l-istruttura żżomm il-bażi tal-kodiċi organizzata u skalabbli.
Kif Tinstalla u Tħaddem il-Proġett
Prerekwiżiti
Qabel ma tinstalla, kun żgur li għandek:
Node.js 18.17+
MongoDB 6+
npm, ħajta, jew pnpm
Ikklona r-Repożitorju
git clone https://github.com/bfotool/nestjs-mongodb-blog-base
cd nestjs-mongodb-blog-base
Installa Dipendenzi
npm install
Ikkonfigura l-Varjabbli tal-Ambjent
Ikkopja l-fajl tal-ambjent tal-eżempju:
cp .env.example .env
Aġġorna l-valuri li ġejjin:
MONGODB_URI=
JWT_ACCESS_SECRET=
JWT_REFRESH_SECRET=
Żerriegħa tad-Database
Imla d-database b'dejta kampjun:
npm run seed
Biex tirrisettja u terġa' żżerża:
npm run seed:refresh
Ibda s-Server tal-Iżvilupp
npm run start:dev
URL bażi tal-API:
http://localhost:3000/api/v1
Dokumentazzjoni ta' Swagger:
http://localhost:3000/api/docs
Dejta Żerriegħa Predefinita
L-iskritt tas-seed jiġġenera dejta kampjun għall-ittestjar.
| Entità | Għadd |
|---|---|
| Utenti | 5 |
| Kategoriji | 5 |
| Tikketti | 28 sena |
| Postijiet | 10 |
| Kummenti | 6 |
Kredenzjali tal-Login Predefiniti
Password għall-utenti kollha li ġew seeded:
admin123
Kontijiet:
| Rwol | |
|---|---|
| Amministratur | [email protected] |
| Awtur | [email protected] |
| Awtur | [email protected] |
| Awtur | [email protected] |
| Qarrej | [email protected] |
Dokumentazzjoni tal-API ta' Swagger
Dokumentazzjoni interattiva tal-API hija disponibbli fuq:
http://localhost:3000/api/docs
Swagger jipprovdi:
Ittestjar interattiv tal-endpoint
JWT authenticationappoġġ
Dokumentazzjoni tal-iskema tat-talbiet u r-rispons
Għaliex Għandek Tuża Dan ir-Repożitorju
L- API tal-Blog NestJS MongoDB hija punt tat-tluq qawwi għall-iżviluppaturi li jibnu backend tal-blog modern.
Il-vantaġġi jinkludu:
Arkitettura modulari NestJS nadifa
Awtentikazzjoni integrata u RBAC
Dokumentazzjoni tal-API Swagger lesta għall-użu
Integrazzjoni ta' MongoDB bl-użu ta' Mongoose
Sistema ta' żrigħ tad-database
Struttura ta' proġett lesta għall-produzzjoni
Repożitorju: https://github.com/bfotool/nestjs-mongodb-blog-base



