Sample NodeJS MicroServices
fnWwry h w twnmndy hy bh khr grfth shdh dr yn prwjh
NodeJS (RESTful API)
ExpressJS
Mysql DataBase
Sequelize (Mysql ORM)
TypeScrpit
ES6
MicroServices
GIT
twnmndy hy dygri khrj z yn prwjh
Redis
WebSocket (SocketIO)
Mongoose as MongoDB ORM (Level: Intermediate)
Message Broker (Redis as Broker)
Linux Ubuntu Server (for projects deployment)
t`dd msyr h w jdwl dytbys w `mlyty khh njm my shwd, dr Hqyqt bsyr byshtr z an chyzy st khh dr yn rypzytwry qrr grfth st; dlyl an hm yn st khh ynj Srfan bry nmysh bh `nwn nmwnh khr mwrd stfdh qrr my gyrd t Tbq bkhshy z twnmndy h w nHwh khdnwysy dr prwjh hy yn rypzytwry, btwn bhtr qDwt nmwd
dstwr jr w khr b srwys h
-
pykhrbndy wlyh w amdh szy bry brrsy msyr hy api
fyli jdwl dytbys r dr pygh ddh khwd import nmyyd. twjWh dshth bshyd khh nm dytbys, byd mTbq b nm t`yyn shdh dr fyl .env bshd khh tnZym khwhyd nmwd
bry tst w brrsy srwys h, fyl postman qrr ddh shdh r my twnyd dr nrm fzr postman khwdtn import nmyyd w z an stfdh khnyd.
dr hr mykhrwsrwys, dr pwshh y b nmi config, fyly b nm env.example. wjwd drd. Dmn tGyyr nm an bh env. mtGyr mqdyr r b twDyHt zyr my twnyd tGyyr dhyd.
> PORT=4014 (pwrty khh srwys rwy an jr my shwd)
> DB_USERNAME=root (nm khrbry wrwd bh pygh ddh)
> DB_PASSWORD= (khlmh `bwr wrwd bh pygh ddh)
> DB_DATABASE=github_resume (nm pygh ddh)
> DB_HOST=localhost
> DB_DRIVER=mysql
dr fyl mtGyr hy mHyTyi srwysi Api Gateway chnd mwrd dygr wjwd drd:
mwrd mrbwT bh twkhn dstrsy bry JWT
> JWT_ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxx (a secret to sign and verify the access token)
> JWT_REFRESH_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxx (a secret to sign and verify the refesh token)
> JWT_FORGET_PASSWORD_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxx
> JWT_ACCESS_TOKEN_EXPIRES_IN=50400000 (zmn bh myly thnyh)
> JWT_REFRESH_TOKEN_EXPIRES_IN=15552000000 (zmn bh myly thnyh)
nshny hr mykhrw srwys
> SERVICE_CATEGORIZATION_URL=http://localhost:4010
> SERVICE_LOCATION_URL=http://localhost:4012
> SERVICE_USERMANAGEMENT_URL=http://localhost:4014
mykhrw srwys h bh Twr mstqym dr rtbT b khrbr nystnd; blkhh byd khrbrn drkhwst hyshn r bh Api Gateway bfrstnd w angh, z anj drkhwst bh srwys hy mwrd nZr my rsd w `mlyt Swrt my pdhyrd.
-
dryft twkhn dstrsy w mkhn wrwd bh `mlyt msyr hy khSwSy
dr aGz khr, ykh drkhwst Hwy Tl`t mwrd nyz r byd bh msyr mrbwT bh thbt nm khrbr bfrstyd t twkhn dstrsy w twkhn tzh szy r dryft nmyyd.
dr mrHl b`d, b rsl drkhwst bh msyr mrbwT bh wrwd khrbr, twkhn r dryft khwhyd nmwd.
gr fyl mrbwT bh Postman r dr an nrm fzr import khrdh bshyd, mshhdh my nmyyd khh b khlykh rwy nm khlkhshn, SfHh y bz my shwd khh dr bkhsh Variables thwbty dr an t`ryf shdh st; b twjWh bh mqdyry khh dr pykhrbndy i`ml nmwdh yd w twkhn hyy khh z msyr hy Auth dryft khrdh yd, yn thwbt r mqdr dhy frmyyd.
-
jry srwys h
b wrwd bh msyr hr srwys (mykhrwsrwys) mrHl zyr r njm dhyd:
npm install # nSb pkhyj h w mjwl hy mwrd nyz
npm run dev # jry prwjh dr Hlt tws`h