- ID de l'analyse :
- bb141f3f-c400-4706-b6ca-d6f14c83cd2dTerminée
- URL soumise :
- https://imzihad21.github.io/
- Fin du rapport :
Liens : 15 trouvé(s)
Liens sortants identifiés à partir de la page
Lien | texte |
---|---|
https://t.me/imzihad21 | Telegram |
https://wakatime.com/@3c1afc84-ed1f-42bb-a108-3d65064a0c3e | |
https://github.com/IMZihad21?tab=stars | |
https://github.com/sponsors/IMZihad21 | |
https://t.me/IMZihad21 | |
https://gist.github.com/IMZihad21 | |
https://dev.to/imzihad21/implementing-http-request-and-response-encryption-in-aspnet-core-with-custom-attributes-422b | Implementing HTTP Request and Response Encryption in ASP.NET Core with Custom AttributesaesencryptionaspnetcoreMofajjal Rasul•Nov 700 |
https://dev.to/imzihad21/a-generic-repository-pattern-for-nestjs-with-mongoose-for-mongodb-gp3 | A Generic Repository Pattern for NestJS with Mongoose for MongoDBnestjsmongodbgenericMofajjal Rasul•Nov 320 |
https://dev.to/imzihad21/integrating-cloudinary-with-nestjs-for-image-management-25n5 | Integrating Cloudinary with NestJS for Image ManagementnestjscloudinaryimageuploadMofajjal Rasul•Nov 360 |
https://dev.to/imzihad21/seamlessly-integrate-swagger-with-jwt-authentication-in-nestjs-2aol | Seamlessly Integrate Swagger with JWT Authentication in NestJSnestjsjwtswaggerMofajjal Rasul•Nov 370 |
Variables JavaScript : 13 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
webpackChunk_N_E | object |
__next_set_public_path__ | function |
next | object |
__NEXT_DATA__ | object |
__SSG_MANIFEST_CB | function |
__NEXT_P | object |
_N_E | object |
Messages de journal de console : 1 trouvé(s)
Messages consignés dans la console web
Type | Catégorie | Enregistrement |
---|---|---|
warning | other |
|
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html lang="en" class="__className_d263de"><head><style data-emotion="css-global" data-s="">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:rgba(0, 0, 0, 0.87);font-family:'Exo 2','Exo 2 Fallback';font-weight:400;font-size:1rem;line-height:1.5;background-color:#fefefe;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#fefefe;}*{font-family:'Exo 2','Exo 2 Fallback';}*::before,*::after{box-sizing:border-box;}body a{-webkit-text-decoration:unset;text-decoration:unset;color:inherit;}body::-webkit-scrollbar,body *::-webkit-scrollbar{width:5px;height:5px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:5px;min-height:24px;background-color:#B0BEC5;}body::-webkit-scrollbar-thumb:focus,body *::-webkit-scrollbar-thumb:focus{background-color:#81ADC8;}body::-webkit-scrollbar-thumb:active,body *::-webkit-scrollbar-thumb:active{background-color:#4DB6AC;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#4DB6AC;}body::-webkit-scrollbar-corner,body *::-webkit-scrollbar-corner{background-color:transparent;}</style><style data-emotion="css-global" data-s=""></style><style data-emotion="css irwvew" data-s="">.css-irwvew{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100dvh;}</style><style data-emotion="css 49cj82" data-s="">.css-49cj82{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;position:fixed;z-index:1100;top:0;left:auto;right:0;--AppBar-background:#000;--AppBar-color:#fff;background-color:var(--AppBar-background);color:var(--AppBar-color);background-color:#fff;}@media print{.css-49cj82{position:absolute;}}</style><style data-emotion="css 3rjx4b" data-s="">.css-3rjx4b{background-color:#fff;color:rgba(0, 0, 0, 0.87);-webkit-transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;box-shadow:var(--Paper-shadow);background-image:var(--Paper-overlay);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;position:fixed;z-index:1100;top:0;left:auto;right:0;--AppBar-background:#000;--AppBar-color:#fff;background-color:var(--AppBar-background);color:var(--AppBar-color);background-color:#fff;}@media print{.css-3rjx4b{position:absolute;}}</style><style data-emotion="css 1vxivd9" data-s="">.css-1vxivd9{width:100%;margin-left:auto;box-sizing:border-box;margin-right:auto;padding-left:16px;padding-right:16px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (min-width:600px){.css-1vxivd9{padding-left:24px;padding-right:24px;}}@media (min-width:1200px){.css-1vxivd9{max-width:1200px;}}</style><style data-emotion="css 1i0oib" data-s="">.css-1i0oib{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:16px;padding-right:16px;min-height:56px;width:100%;margin-left:auto;box-sizing:border-box;margin-right:auto;padding-left:16px;padding-right:16px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}@media (min-width:600px){.css-1i0oib{padding-left:24px;padding-right:24px;}}@media (min-width:0px){@media (orientation: landscape){.css-1i0oib{min-height:48px;}}}@media (min-width:600px){.css-1i0oib{min-height:64px;}}@media (min-width:600px){.css-1i0oib{padding-left:24px;padding-right:24px;}}@media (min-width:1200px){.css-1i0oib{max-width:1200px;}}</style><style data-emotion="css 142sybb" data-s="">.css-142sybb{text-align:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:1.5rem;padding:8px;border-radius:50%;color:rgba(0, 0, 0, 0.54);-webkit-transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;--IconButton-hoverBg:rgba(0, 0, 0, 0.04);margin-left:-12px;color:inherit;padding:12px;font-size:1.75rem;margin-right:16px;}.css-142sybb:hover{background-color:var(--IconButton-hoverBg);}@media (hover: none){.css-142sybb:hover{background-color:transparent;}}.css-142sybb.Mui-disabled{background-color:transparent;color:rgba(0, 0, 0, 0.26);}@media (min-width:0px){.css-142sybb{display:block;}}@media (min-width:900px){.css-142sybb{display:none;}}</style><style data-emotion="css 1q4c1mj" data-s="">.css-1q4c1mj{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0;border:0;margin:0;border-radius:0;padding:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-webkit-text-decoration:none;text-decoration:none;color:inherit;text-align:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:1.5rem;padding:8px;border-radius:50%;color:rgba(0, 0, 0, 0.54);-webkit-transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;--IconButton-hoverBg:rgba(0, 0, 0, 0.04);margin-left:-12px;color:inherit;padding:12px;font-size:1.75rem;margin-right:16px;}.css-1q4c1mj::-moz-focus-inner{border-style:none;}.css-1q4c1mj.Mui-disabled{pointer-events:none;cursor:default;}@media print{.css-1q4c1mj{-webkit-print-color-adjust:exact;color-adjust:exact;}}.css-1q4c1mj:hover{background-color:var(--IconButton-hoverBg);}@media (hover: none){.css-1q4c1mj:hover{background-color:transparent;}}.css-1q4c1mj.Mui-disabled{background-color:transparent;color:rgba(0, 0, 0, 0.26);}@media (min-width:0px){.css-1q4c1mj{display:block;}}@media (min-width:900px){.css-1q4c1mj{display:none;}}</style><style data-emotion="css 4fg96v" data-s="">.css-4fg96v{color:rgba(0, 0, 0, 0.87);width:24px;height:24px;}</style><style data-emotion="css 19esn5p" data-s="">.css-19esn5p{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:1.0625rem;line-height:1.5555555555555556;color:#000;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;display:inline-block;position:relative;}.css-19esn5p::after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;-webkit-transform:scaleX(0);-moz-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);transform-origin:left;-webkit-transition:-webkit-transform 0.3s ease;transition:transform 0.3s ease;background-color:#000;}.css-19esn5p:hover::after{-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}</style><style data-emotion="css u4p24i" data-s="">.css-u4p24i{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><style data-emotion="css mq8b2p" data-s="">.css-mq8b2p{overflow:hidden;min-height:48px;-webkit-overflow-scrolling:touch;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:25px;}@media (max-width:599.95px){.css-mq8b2p .MuiTabs-scrollButtons{display:none;}}@media (min-width:0px){.css-mq8b2p{display:none;}}@media (min-width:900px){.css-mq8b2p{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}}.css-mq8b2p .Mui-selected{font-weight:600;color:#000!important;}.css-mq8b2p .MuiTabs-indicator{background-color:#000;}.css-mq8b2p .MuiTab-root{padding:10px;font-size:13px;min-width:unset;min-height:unset;-webkit-transition:color 0.3s ease;transition:color 0.3s ease;}.css-mq8b2p .MuiTab-root:hover{color:#000;}</style><style data-emotion="css w94xpu" data-s="">.css-w94xpu{position:relative;display:inline-block;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;white-space:nowrap;overflow-x:hidden;width:100%;}</style><style data-emotion="css 162tvoi" data-s="">.css-162tvoi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}</style><style data-emotion="css 66h3lp" data-s="">.css-66h3lp{font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:0.875rem;line-height:1.25;text-transform:capitalize;max-width:360px;min-width:90px;position:relative;min-height:48px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding:12px 16px;overflow:hidden;white-space:normal;text-align:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:rgba(0, 0, 0, 0.6);}.css-66h3lp.Mui-selected{color:#000;}.css-66h3lp.Mui-disabled{color:rgba(0, 0, 0, 0.38);}</style><style data-emotion="css 45eo08" data-s="">.css-45eo08{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0;border:0;margin:0;border-radius:0;padding:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-webkit-text-decoration:none;text-decoration:none;color:inherit;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:0.875rem;line-height:1.25;text-transform:capitalize;max-width:360px;min-width:90px;position:relative;min-height:48px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding:12px 16px;overflow:hidden;white-space:normal;text-align:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:rgba(0, 0, 0, 0.6);}.css-45eo08::-moz-focus-inner{border-style:none;}.css-45eo08.Mui-disabled{pointer-events:none;cursor:default;}@media print{.css-45eo08{-webkit-print-color-adjust:exact;color-adjust:exact;}}.css-45eo08.Mui-selected{color:#000;}.css-45eo08.Mui-disabled{color:rgba(0, 0, 0, 0.38);}</style><style data-emotion="css owdwxa" data-s="">.css-owdwxa{position:absolute;height:2px;bottom:0;width:100%;-webkit-transition:all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;background-color:#000;}</style><style data-emotion="css p0niib" data-s="">.css-p0niib{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:16px;padding-right:16px;min-height:56px;}@media (min-width:600px){.css-p0niib{padding-left:24px;padding-right:24px;}}@media (min-width:0px){@media (orientation: landscape){.css-p0niib{min-height:48px;}}}@media (min-width:600px){.css-p0niib{min-height:64px;}}</style><style data-emotion="css 3fdf1r" data-s="">.css-3fdf1r{font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:0.875rem;line-height:1.7142857142857142;text-transform:capitalize;min-height:36px;-webkit-transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;border-radius:50%;padding:0;min-width:0;width:56px;height:56px;z-index:1050;box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);color:rgba(0, 0, 0, 0.87);background-color:#e0e0e0;width:40px;height:40px;position:fixed;bottom:45px;right:16px;}.css-3fdf1r:active{box-shadow:0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12);}.css-3fdf1r:hover{background-color:#f5f5f5;-webkit-text-decoration:none;text-decoration:none;}@media (hover: none){.css-3fdf1r:hover{background-color:#e0e0e0;}}.css-3fdf1r.Mui-focusVisible{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}.css-3fdf1r.Mui-disabled{color:rgba(0, 0, 0, 0.26);box-shadow:none;background-color:rgba(0, 0, 0, 0.12);}</style><style data-emotion="css 5tmc9f" data-s="">.css-5tmc9f{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0;border:0;margin:0;border-radius:0;padding:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-webkit-text-decoration:none;text-decoration:none;color:inherit;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:0.875rem;line-height:1.7142857142857142;text-transform:capitalize;min-height:36px;-webkit-transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;border-radius:50%;padding:0;min-width:0;width:56px;height:56px;z-index:1050;box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);color:rgba(0, 0, 0, 0.87);background-color:#e0e0e0;width:40px;height:40px;position:fixed;bottom:45px;right:16px;}.css-5tmc9f::-moz-focus-inner{border-style:none;}.css-5tmc9f.Mui-disabled{pointer-events:none;cursor:default;}@media print{.css-5tmc9f{-webkit-print-color-adjust:exact;color-adjust:exact;}}.css-5tmc9f:active{box-shadow:0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12);}.css-5tmc9f:hover{background-color:#f5f5f5;-webkit-text-decoration:none;text-decoration:none;}@media (hover: none){.css-5tmc9f:hover{background-color:#e0e0e0;}}.css-5tmc9f.Mui-focusVisible{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}.css-5tmc9f.Mui-disabled{color:rgba(0, 0, 0, 0.26);box-shadow:none;background-color:rgba(0, 0, 0, 0.12);}</style><style data-emotion="css 1j5iohy" data-s="">.css-1j5iohy{color:rgba(0, 0, 0, 0.87);width:24px;height:24px;color:#000;}</style><style data-emotion="css 148agmb" data-s="">.css-148agmb{z-index:1500;pointer-events:none;pointer-events:auto;pointer-events:none;}.css-148agmb[data-popper-placement*="bottom"] .MuiTooltip-arrow{top:0;margin-top:-0.71em;}.css-148agmb[data-popper-placement*="bottom"] .MuiTooltip-arrow::before{transform-origin:0 100%;}.css-148agmb[data-popper-placement*="top"] .MuiTooltip-arrow{bottom:0;margin-bottom:-0.71em;}.css-148agmb[data-popper-placement*="top"] .MuiTooltip-arrow::before{transform-origin:100% 0;}.css-148agmb[data-popper-placement*="right"] .MuiTooltip-arrow{height:1em;width:0.71em;}.css-148agmb[data-popper-placement*="right"] .MuiTooltip-arrow::before{transform-origin:100% 100%;}.css-148agmb[data-popper-placement*="left"] .MuiTooltip-arrow{height:1em;width:0.71em;}.css-148agmb[data-popper-placement*="left"] .MuiTooltip-arrow::before{transform-origin:0 0;}.css-148agmb[data-popper-placement*="right"] .MuiTooltip-arrow{left:0;margin-left:-0.71em;}.css-148agmb[data-popper-placement*="left"] .MuiTooltip-arrow{right:0;margin-right:-0.71em;}</style><style data-emotion="css 1w0uwdk" data-s="">.css-1w0uwdk{z-index:1500;pointer-events:none;pointer-events:auto;pointer-events:none;}.css-1w0uwdk[data-popper-placement*="bottom"] .MuiTooltip-arrow{top:0;margin-top:-0.71em;}.css-1w0uwdk[data-popper-placement*="bottom"] .MuiTooltip-arrow::before{transform-origin:0 100%;}.css-1w0uwdk[data-popper-placement*="top"] .MuiTooltip-arrow{bottom:0;margin-bottom:-0.71em;}.css-1w0uwdk[data-popper-placement*="top"] .MuiTooltip-arrow::before{transform-origin:100% 0;}.css-1w0uwdk[data-popper-placement*="right"] .MuiTooltip-arrow{height:1em;width:0.71em;}.css-1w0uwdk[data-popper-placement*="right"] .MuiTooltip-arrow::before{transform-origin:100% 100%;}.css-1w0uwdk[data-popper-placement*="left"] .MuiTooltip-arrow{height:1em;width:0.71em;}.css-1w0uwdk[data-popper-placement*="left"] .MuiTooltip-arrow::before{transform-origin:0 0;}.css-1w0uwdk[data-popper-placement*="right"] .MuiTooltip-arrow{left:0;margin-left:-0.71em;}.css-1w0uwdk[data-popper-placement*="left"] .MuiTooltip-arrow{right:0;margin-right:-0.71em;}</style><style data-emotion="css r6km4g" data-s="">.css-r6km4g{z-index:1200;}@media (min-width:0px){.css-r6km4g{display:block;}}@media (min-width:900px){.css-r6km4g{display:none;}}</style><style data-emotion="css suqqxl" data-s="">.css-suqqxl{width:100%;margin-left:auto;box-sizing:border-box;margin-right:auto;padding-left:16px;padding-right:16px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-top:16px;}@media (min-width:600px){.css-suqqxl{padding-left:24px;padding-right:24px;}}@media (min-width:1200px){.css-suqqxl{max-width:1200px;}}</style><style data-emotion="css 1v8my8o" data-s="">.css-1v8my8o{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:20px;}</style><style data-emotion="css vob8gh" data-s="">.css-vob8gh{background-color:#fff;color:rgba(0, 0, 0, 0.87);-webkit-transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;border-radius:8px;box-shadow:var(--Paper-shadow);background-image:var(--Paper-overlay);padding:1rem;background:linear-gradient(to right, rgb(51, 51, 51), rgb(0, 0, 0));color:#fff;}</style><style data-emotion="css 1difu8q" data-s="">.css-1difu8q{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;}</style><style data-emotion="css zw6fbj" data-s="">.css-zw6fbj{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:2rem;line-height:1.3333333333333333;}</style><style data-emotion="css 1yxciof" data-s="">.css-1yxciof{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:400;font-size:1rem;line-height:1.5;text-align:center;}</style><style data-emotion="css 6korrs" data-s="">.css-6korrs{font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:0.875rem;line-height:1.7142857142857142;text-transform:capitalize;min-width:64px;padding:6px 16px;border:0;border-radius:8px;-webkit-transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;color:var(--variant-containedColor);background-color:var(--variant-containedBg);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);--variant-textColor:#fff;--variant-outlinedColor:#fff;--variant-outlinedBorder:rgba(255, 255, 255, 0.5);--variant-containedColor:rgba(0, 0, 0, 0.87);--variant-containedBg:#fff;}.css-6korrs:hover{-webkit-text-decoration:none;text-decoration:none;}.css-6korrs.Mui-disabled{color:rgba(0, 0, 0, 0.26);}.css-6korrs:hover{box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);}@media (hover: none){.css-6korrs:hover{box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);}}.css-6korrs:active{box-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12);}.css-6korrs.Mui-focusVisible{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}.css-6korrs.Mui-disabled{color:rgba(0, 0, 0, 0.26);box-shadow:none;background-color:rgba(0, 0, 0, 0.12);}@media (hover: hover){.css-6korrs:hover{--variant-containedBg:rgb(178, 178, 178);--variant-textBg:rgba(255, 255, 255, 0.04);--variant-outlinedBorder:#fff;--variant-outlinedBg:rgba(255, 255, 255, 0.04);}}</style><style data-emotion="css 8jc43l" data-s="">.css-8jc43l{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0;border:0;margin:0;border-radius:0;padding:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-webkit-text-decoration:none;text-decoration:none;color:inherit;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:0.875rem;line-height:1.7142857142857142;text-transform:capitalize;min-width:64px;padding:6px 16px;border:0;border-radius:8px;-webkit-transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;color:var(--variant-containedColor);background-color:var(--variant-containedBg);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);--variant-textColor:#fff;--variant-outlinedColor:#fff;--variant-outlinedBorder:rgba(255, 255, 255, 0.5);--variant-containedColor:rgba(0, 0, 0, 0.87);--variant-containedBg:#fff;}.css-8jc43l::-moz-focus-inner{border-style:none;}.css-8jc43l.Mui-disabled{pointer-events:none;cursor:default;}@media print{.css-8jc43l{-webkit-print-color-adjust:exact;color-adjust:exact;}}.css-8jc43l:hover{-webkit-text-decoration:none;text-decoration:none;}.css-8jc43l.Mui-disabled{color:rgba(0, 0, 0, 0.26);}.css-8jc43l:hover{box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);}@media (hover: none){.css-8jc43l:hover{box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);}}.css-8jc43l:active{box-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12);}.css-8jc43l.Mui-focusVisible{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}.css-8jc43l.Mui-disabled{color:rgba(0, 0, 0, 0.26);box-shadow:none;background-color:rgba(0, 0, 0, 0.12);}@media (hover: hover){.css-8jc43l:hover{--variant-containedBg:rgb(178, 178, 178);--variant-textBg:rgba(255, 255, 255, 0.04);--variant-outlinedBorder:#fff;--variant-outlinedBg:rgba(255, 255, 255, 0.04);}}</style><style data-emotion="css 3hhcb" data-s="">.css-3hhcb{background-color:#fff;color:rgba(0, 0, 0, 0.87);-webkit-transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;border-radius:8px;box-shadow:var(--Paper-shadow);background-image:var(--Paper-overlay);}</style><style data-emotion="css fgshj2" data-s="">.css-fgshj2{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:1.5rem;line-height:1.5;text-align:center;}</style><style data-emotion="css ey360e" data-s="">.css-ey360e{max-width:100vw;margin-top:8px;}.css-ey360e h4{display:none;}.css-ey360e #badges,.css-ey360e #os-ide,.css-ey360e #contact{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:5px;margin-bottom:10px;}.css-ey360e #stats{display:grid;grid-gap:16px;justify-items:center;}@media (min-width:0px){.css-ey360e #stats{grid-template-columns:repeat(2, 1fr);}}@media (min-width:1200px){.css-ey360e #stats{grid-template-columns:repeat(3, 1fr);}}.css-ey360e #stats img{height:auto;}@media (min-width:0px){.css-ey360e #stats img{width:100%;}}@media (min-width:1200px){.css-ey360e #stats img{width:auto;}}@media (min-width:0px){.css-ey360e #stats img:first-of-type{grid-column:1/-1;}}@media (min-width:1200px){.css-ey360e #stats img:first-of-type{grid-column:1/3;}}@media (min-width:0px){.css-ey360e #stats img:nth-of-type(2){grid-column:auto;}}@media (min-width:1200px){.css-ey360e #stats img:nth-of-type(2){grid-column:3/4;}}</style><style data-emotion="css mur6j8" data-s="">.css-mur6j8{--Grid-columns:12;--Grid-columnSpacing:16px;--Grid-rowSpacing:16px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;min-width:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--Grid-rowSpacing) var(--Grid-columnSpacing);margin-top:16px;}.css-mur6j8 >*{--Grid-parent-columns:12;}.css-mur6j8 >*{--Grid-parent-columnSpacing:16px;}.css-mur6j8 >*{--Grid-parent-rowSpacing:16px;}</style><style data-emotion="css 1svaozw" data-s="">.css-1svaozw{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;width:calc(100% * 12 / var(--Grid-parent-columns) - (var(--Grid-parent-columns) - 12) * (var(--Grid-parent-columnSpacing) / var(--Grid-parent-columns)));min-width:0;box-sizing:border-box;}@media (min-width:900px){.css-1svaozw{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;width:calc(100% * 6 / var(--Grid-parent-columns) - (var(--Grid-parent-columns) - 6) * (var(--Grid-parent-columnSpacing) / var(--Grid-parent-columns)));}}@media (min-width:1200px){.css-1svaozw{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;width:calc(100% * 4 / var(--Grid-parent-columns) - (var(--Grid-parent-columns) - 4) * (var(--Grid-parent-columnSpacing) / var(--Grid-parent-columns)));}}</style><style data-emotion="css akhs0c" data-s="">.css-akhs0c{overflow:hidden;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;box-shadow:0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12);}.css-akhs0c:hover{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}</style><style data-emotion="css 19gnxj4" data-s="">.css-19gnxj4{background-color:#fff;color:rgba(0, 0, 0, 0.87);-webkit-transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;border-radius:8px;box-shadow:var(--Paper-shadow);background-image:var(--Paper-overlay);overflow:hidden;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;box-shadow:0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12);}.css-19gnxj4:hover{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);}</style><style data-emotion="css 577639" data-s="">.css-577639{padding:16px;padding:16px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.css-577639:last-child{padding-bottom:24px;}</style><style data-emotion="css 1i9np84" data-s="">.css-1i9np84{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:1.0625rem;line-height:1.5555555555555556;margin-bottom:0.35em;font-weight:600;}</style><style data-emotion="css 1hibzqz" data-s="">.css-1hibzqz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-bottom:8px;}.css-1hibzqz>:not(style):not(style){margin:0;}.css-1hibzqz>:not(style)~:not(style){margin-left:8px;}</style><style data-emotion="css 1tmdry0" data-s="">.css-1tmdry0{max-width:100%;font-family:'Exo 2','Exo 2 Fallback';font-size:0.8125rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;height:32px;color:rgba(0, 0, 0, 0.87);background-color:rgba(0, 0, 0, 0.08);border-radius:16px;white-space:nowrap;-webkit-transition:background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;cursor:unset;outline:0;-webkit-text-decoration:none;text-decoration:none;border:0;padding:0;vertical-align:middle;box-sizing:border-box;height:24px;font-size:12px;}.css-1tmdry0.Mui-disabled{opacity:0.38;pointer-events:none;}.css-1tmdry0 .MuiChip-avatar{margin-left:5px;margin-right:-6px;width:24px;height:24px;color:#616161;font-size:0.75rem;}.css-1tmdry0 .MuiChip-avatarColorPrimary{color:#fff;background-color:rgb(0, 0, 0);}.css-1tmdry0 .MuiChip-avatarColorSecondary{color:rgba(0, 0, 0, 0.87);background-color:rgb(178, 178, 178);}.css-1tmdry0 .MuiChip-avatarSmall{margin-left:4px;margin-right:-4px;width:18px;height:18px;font-size:0.625rem;}.css-1tmdry0 .MuiChip-icon{margin-left:5px;margin-right:-6px;}.css-1tmdry0 .MuiChip-deleteIcon{-webkit-tap-highlight-color:transparent;color:rgba(0, 0, 0, 0.26);font-size:22px;cursor:pointer;margin:0 5px 0 -6px;}.css-1tmdry0 .MuiChip-deleteIcon:hover{color:rgba(0, 0, 0, 0.4);}.css-1tmdry0 .MuiChip-icon{font-size:18px;margin-left:4px;margin-right:-4px;}.css-1tmdry0 .MuiChip-deleteIcon{font-size:16px;margin-right:4px;margin-left:-4px;}.css-1tmdry0 .MuiChip-icon{color:#616161;}</style><style data-emotion="css b9zgoq" data-s="">.css-b9zgoq{overflow:hidden;text-overflow:ellipsis;padding-left:12px;padding-right:12px;white-space:nowrap;padding-left:8px;padding-right:8px;}</style><style data-emotion="css 12npzob" data-s="">.css-12npzob{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px;padding:16px;padding-top:0px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}.css-12npzob>:not(style)~:not(style){margin-left:8px;}</style><style data-emotion="css csffzd" data-s="">.css-csffzd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.css-csffzd>:not(style):not(style){margin:0;}.css-csffzd>:not(style)~:not(style){margin-left:8px;}</style><style data-emotion="css liqgzc" data-s="">.css-liqgzc{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:40px;height:40px;font-family:'Exo 2','Exo 2 Fallback';font-size:1.25rem;line-height:1;border-radius:50%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:32px;height:32px;}</style><style data-emotion="css 45do71" data-s="">.css-45do71{width:100%;height:100%;text-align:center;object-fit:cover;color:transparent;text-indent:10000px;}</style><style data-emotion="css 1y01367" data-s="">.css-1y01367{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:600;font-size:0.875rem;line-height:1.5714285714285714;}</style><style data-emotion="css 1pdknax" data-s="">.css-1pdknax{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:400;font-size:0.75rem;line-height:1.5;color:rgba(0, 0, 0, 0.6);}</style><style data-emotion="css iid85k" data-s="">.css-iid85k{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}.css-iid85k>:not(style):not(style){margin:0;}.css-iid85k>:not(style)~:not(style){margin-left:8px;}.css-iid85k .MuiChip-root{font-weight:500;padding-left:4px;padding-right:4px;border-radius:8.8px;gap:1.6px;}</style><style data-emotion="css rrwxrl" data-s="">.css-rrwxrl{max-width:100%;font-family:'Exo 2','Exo 2 Fallback';font-size:0.8125rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;height:32px;color:rgba(0, 0, 0, 0.87);background-color:rgba(0, 0, 0, 0.08);border-radius:16px;white-space:nowrap;-webkit-transition:background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;cursor:unset;outline:0;-webkit-text-decoration:none;text-decoration:none;border:0;padding:0;vertical-align:middle;box-sizing:border-box;background-color:#000;color:#fff;}.css-rrwxrl.Mui-disabled{opacity:0.38;pointer-events:none;}.css-rrwxrl .MuiChip-avatar{margin-left:5px;margin-right:-6px;width:24px;height:24px;color:#616161;font-size:0.75rem;}.css-rrwxrl .MuiChip-avatarColorPrimary{color:#fff;background-color:rgb(0, 0, 0);}.css-rrwxrl .MuiChip-avatarColorSecondary{color:rgba(0, 0, 0, 0.87);background-color:rgb(178, 178, 178);}.css-rrwxrl .MuiChip-avatarSmall{margin-left:4px;margin-right:-4px;width:18px;height:18px;font-size:0.625rem;}.css-rrwxrl .MuiChip-icon{margin-left:5px;margin-right:-6px;}.css-rrwxrl .MuiChip-deleteIcon{-webkit-tap-highlight-color:transparent;color:rgba(0, 0, 0, 0.26);font-size:22px;cursor:pointer;margin:0 5px 0 -6px;}.css-rrwxrl .MuiChip-deleteIcon:hover{color:rgba(0, 0, 0, 0.4);}.css-rrwxrl .MuiChip-deleteIcon{color:rgba(255, 255, 255, 0.7);}.css-rrwxrl .MuiChip-deleteIcon:hover,.css-rrwxrl .MuiChip-deleteIcon:active{color:#fff;}.css-rrwxrl .MuiChip-icon{color:#616161;}.css-rrwxrl .MuiChip-icon{color:inherit;}</style><style data-emotion="css 14vsv3w" data-s="">.css-14vsv3w{overflow:hidden;text-overflow:ellipsis;padding-left:12px;padding-right:12px;white-space:nowrap;}</style><style data-emotion="css sl70pa" data-s="">.css-sl70pa{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:700;font-size:1.5rem;line-height:1.5;}</style><style data-emotion="css 1nu94of" data-s="">.css-1nu94of{width:100%;margin-left:auto;box-sizing:border-box;margin-right:auto;padding-left:16px;padding-right:16px;padding:15px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:auto;margin-right:auto;}@media (min-width:600px){.css-1nu94of{padding-left:24px;padding-right:24px;}}@media (min-width:1200px){.css-1nu94of{max-width:1200px;}}@media (min-width:0px){.css-1nu94of{margin-top:8px;}}@media (min-width:900px){.css-1nu94of{margin-top:24px;}}</style><style data-emotion="css ix9va1" data-s="">.css-ix9va1{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:400;font-size:0.875rem;line-height:1.5714285714285714;font-weight:700;}@media (min-width:0px){.css-ix9va1{font-size:11px;}}@media (min-width:900px){.css-ix9va1{font-size:14px;}}</style><style data-emotion="css o9ggoj" data-s="">.css-o9ggoj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}@media (min-width:0px){.css-o9ggoj{gap:12px;}}@media (min-width:900px){.css-o9ggoj{gap:24px;}}</style><style data-emotion="css ct9q29" data-s="">.css-ct9q29{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;}</style><style data-emotion="css 1lga5k9" data-s="">.css-1lga5k9{-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--Link-underlineColor);--Link-underlineColor:rgba(0, 0, 0, 0.4);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;}.css-1lga5k9:hover{text-decoration-color:inherit;}</style><style data-emotion="css qnghrk" data-s="">.css-qnghrk{margin:0;font:inherit;line-height:inherit;letter-spacing:inherit;color:#000;-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--Link-underlineColor);--Link-underlineColor:rgba(0, 0, 0, 0.4);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;}.css-qnghrk:hover{text-decoration-color:inherit;}</style><style data-emotion="css przbvf" data-s="">.css-przbvf{color:rgba(0, 0, 0, 0.87);width:20px;height:20px;}</style><style data-emotion="css 1f254i5" data-s="">.css-1f254i5{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:400;font-size:0.875rem;line-height:1.5714285714285714;font-weight:700;margin-left:5px;}@media (min-width:0px){.css-1f254i5{display:none;font-size:10px;}}@media (min-width:900px){.css-1f254i5{display:block;font-size:12px;}}</style><style data-emotion="css 1c3u2l2" data-s="">.css-1c3u2l2{margin:0;font-family:'Exo 2','Exo 2 Fallback';font-weight:600;font-size:1rem;line-height:1.5;font-weight:700;}@media (min-width:0px){.css-1c3u2l2{font-size:10px;}}@media (min-width:900px){.css-1c3u2l2{font-size:12px;}}</style><style data-emotion="css" data-s=""></style><meta charset="utf-8" data-next-head=""><meta name="viewport" content="width=device-width" data-next-head=""><meta property="og:title" content="Mofajjal Rasul | Software Engineer" data-next-head=""><meta property="og:description" content="Explore my portfolio showcasing projects and skills in web development." data-next-head=""><meta property="og:type" content="website" data-next-head=""><meta property="og:url" content="https://imzihad21.github.io/" data-next-head=""><meta property="og:image" content="/path/to/default/image.jpg" data-next-head=""><meta property="og:locale" content="en_US" data-next-head=""><link rel="author" href="https://imzihad21.github.io/" data-next-head=""><title data-next-head="">Portfolio | Mofajjal Rasul | Software Engineer</title><meta name="description" content="Explore my portfolio showcasing projects and skills in web development." data-next-head=""><meta name="keywords" content="portfolio, developer" data-next-head=""><meta property="og:title" content="Portfolio | Mofajjal Rasul | Software Engineer" data-next-head=""><meta property="og:description" content="Explore my portfolio showcasing projects and skills in web development." data-next-head=""><meta property="og:type" content="website" data-next-head=""><meta property="og:url" content="https://imzihad21.github.io/" data-next-head=""><meta property="og:image" content="/path/to/default/image.jpg" data-next-head=""><meta property="og:locale" content="en_US" data-next-head=""><meta name="twitter:card" content="summary_large_image" data-next-head=""><meta name="twitter:title" content="Portfolio | Mofajjal Rasul | Software Engineer" data-next-head=""><meta name="twitter:description" content="Explore my portfolio showcasing projects and skills in web development." data-next-head=""><meta name="twitter:image" content="/path/to/default/image.jpg" data-next-head=""><meta name="twitter:site" content="@imzihad21" data-next-head=""><meta name="robots" content="index, follow" data-next-head=""><link rel="author" href="https://imzihad21.github.io/" data-next-head=""><meta name="theme-color" content="#000"><meta name="emotion-insertion-point" content=""><style data-emotion="mui " data-s=""></style><meta name="robots" content="all"><meta name="google-site-verification" content="c3wHdho-r9j8RcJjhz9Xm2drHykvMmUL9Aq_LrdITtQ"><link rel="shortcut icon" href="/favicon.ico"><meta name="emotion-insertion-point" content=""><link rel="preload" href="/_next/static/media/cd5bec9268da5b8d-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"><link rel="preload" href="/_next/static/css/94e8616fe490ca85.css" as="style"><link rel="stylesheet" href="/_next/static/css/94e8616fe490ca85.css" data-n-g=""><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-8bd5e56d04b29015.js" defer=""></script><script src="/_next/static/chunks/framework-34880f7f6bd142f9.js" defer=""></script><script src="/_next/static/chunks/main-d5734883d9b03a0a.js" defer=""></script><script src="/_next/static/chunks/pages/_app-00a0797feef4a109.js" defer=""></script><script src="/_next/static/chunks/806-49f141c0c20b6559.js" defer=""></script><script src="/_next/static/chunks/286-5759ea6e68390dd9.js" defer=""></script><script src="/_next/static/chunks/pages/index-3ba5f2911aac6d6d.js" defer=""></script><script src="/_next/static/function%20()%20%7B%20%5Bnative%20code%5D%20%7D/_buildManifest.js" defer=""></script><script src="/_next/static/function%20()%20%7B%20%5Bnative%20code%5D%20%7D/_ssgManifest.js" defer=""></script></head><body><link rel="preload" as="image" href="https://wakatime.com/badge/user/3c1afc84-ed1f-42bb-a108-3d65064a0c3e.svg"><link rel="preload" as="image" href="https://img.shields.io/github/stars/IMZihad21?affiliations=OWNER%2CCOLLABORATOR&label=GH%20stars"><link rel="preload" as="image" href="https://img.shields.io/github/sponsors/IMZihad21?label=GH%20sponsors&style=flat"><link rel="preload" as="image" href="https://img.shields.io/badge/OS-ArchLinux-darkturquoise?style=flat-square&logo=arch-linux"><link rel="preload" as="image" href="https://img.shields.io/badge/OS-Windows11-blue?style=flat-square&logo=microsoft"><link rel="preload" as="image" href="https://img.shields.io/badge/OS-Android14-limegreen?style=flat-square&logo=android"><link rel="preload" as="image" href="https://img.shields.io/badge/IDE-VSCode-blue?style=flat-square&logo=visualstudiocode"><link rel="preload" as="image" href="https://img.shields.io/badge/[email protected]?style=flat-square&logo=gmail"><link rel="preload" as="image" href="https://img.shields.io/badge/Telegram-IMZihad21-royalblue?style=flat-square&logo=telegram"><link rel="preload" as="image" href="https://img.shields.io/badge/Gist-IMZihad21-aliceblue?style=flat-square&logo=GitHub"><link rel="preload" as="image" href="https://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=IMZihad21&theme=vue"><link rel="preload" as="image" href="https://github-profile-summary-cards.vercel.app/api/cards/stats?username=IMZihad21&theme=vue"><link rel="preload" as="image" href="https://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=IMZihad21&theme=vue&utcOffset=6"><link rel="preload" as="image" href="http://github-profile-summary-cards.vercel.app/api/cards/repos-per-language?username=IMZihad21&theme=vue"><link rel="preload" as="image" href="http://github-profile-summary-cards.vercel.app/api/cards/most-commit-language?username=IMZihad21&theme=vue"><link rel="preload" as="image" href="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"><div id="__next"><main class="MuiStack-root css-irwvew"><nav class="MuiPaper-root MuiPaper-elevation MuiPaper-elevation0 MuiAppBar-root MuiAppBar-colorPrimary MuiAppBar-positionFixed mui-fixed css-3rjx4b" style="--Paper-shadow:none"><div class="MuiToolbar-root MuiToolbar-gutters MuiToolbar-regular MuiContainer-root MuiContainer-maxWidthLg css-1i0oib"><button class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorInherit MuiIconButton-edgeStart MuiIconButton-sizeLarge css-1q4c1mj" tabindex="0" type="button" aria-label="menu"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--gg css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M4 6a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1m0 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1m1-7a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z"></path></svg></button><h1 class="MuiTypography-root MuiTypography-h6 css-19esn5p">Mofajjal Rasul</h1><div class="MuiStack-root css-u4p24i"><div class="MuiTabs-root css-mq8b2p"><div class="MuiTabs-scroller MuiTabs-fixed css-w94xpu" style="overflow:hidden;margin-bottom:0"><div class="MuiTabs-flexContainer css-162tvoi" role="tablist"><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary Mui-selected css-45eo08" tabindex="0" type="button" role="tab" aria-selected="true">Home</button><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary css-45eo08" tabindex="-1" type="button" role="tab" aria-selected="false">Articles</button><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary css-45eo08" tabindex="-1" type="button" role="tab" aria-selected="false">About</button><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary css-45eo08" tabindex="-1" type="button" role="tab" aria-selected="false">Contact</button></div><span class="MuiTabs-indicator css-owdwxa" style="left: 0px; width: 0px;"></span></div></div><button class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-1bszfrw" tabindex="0" type="button"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--tdesign css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="m15.844 3.344l-1.428.781l1.428.781l.781 1.428l.781-1.428l1.428-.781l-1.428-.781l-.781-1.428zm-5.432.814A8 8 0 1 0 18.93 16A9 9 0 0 1 10 7c0-.98.131-1.937.412-2.842M2 12C2 6.477 6.477 2 12 2h1.734l-.868 1.5C12.287 4.5 12 5.69 12 7a7 7 0 0 0 8.348 6.87l1.682-.327l-.543 1.626C20.162 19.137 16.417 22 12 22C6.477 22 2 17.523 2 12m18.5-5.584l.914 1.67l1.67.914l-1.67.914l-.914 1.67l-.914-1.67L17.916 9l1.67-.914z"></path></svg></button></div></div></nav><div class="MuiToolbar-root MuiToolbar-gutters MuiToolbar-regular MuiBox-root css-p0niib"></div><button class="MuiButtonBase-root MuiFab-root MuiFab-circular MuiFab-sizeSmall MuiFab-default MuiFab-root MuiFab-circular MuiFab-sizeSmall MuiFab-default css-5tmc9f" tabindex="0" type="button" aria-label="Scroll to Top" role="presentation" style="transform:scale(0);visibility:hidden"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--basil css-1j5iohy" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12.82 4.106c-.234-.417-.671-.601-1.06-.606c-.39-.005-.838.17-1.068.6l-.164.307a77.4 77.4 0 0 0-5.986 14.56c-.158.537.141.984.498 1.199c.356.213.86.264 1.291-.008l4.632-2.925c.574-.363 1.388-.358 1.99.029l4.727 3.04c.425.273.927.244 1.29.031c.37-.217.652-.673.479-1.207a82.3 82.3 0 0 0-6.455-14.708z"></path></svg></button><div class="PrivateSwipeArea-root css-a5dz9y" style="width: 20px;"></div><section class="MuiContainer-root MuiContainer-maxWidthLg css-suqqxl"><div class="MuiStack-root css-1v8my8o"><div class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-vob8gh" style="--Paper-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"><div class="MuiStack-root css-1difu8q"><h2 class="MuiTypography-root MuiTypography-h2 css-zw6fbj">Hi, I'm Mofajjal Rasul</h2><p class="MuiTypography-root MuiTypography-body1 css-1yxciof">Software Engineer with over three years of full-stack development experience, skilled in clean, efficient coding. Proficient in JavaScript, TypeScript, C#, Python and databases. Passionate about software engineering, system architecture, and innovative solutions for impactful technology.</p><a class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedSecondary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorSecondary MuiButton-root MuiButton-contained MuiButton-containedSecondary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorSecondary css-8jc43l" tabindex="0" href="/#articles">Discover My Articles</a></div></div><div class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-3hhcb" id="profile" style="--Paper-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"><h3 class="MuiTypography-root MuiTypography-h3 css-fgshj2">GitHub Profile</h3><div class="MuiBox-root css-ey360e"><h4>Hey there! I’m <strong>ZèD</strong>, a tech enthusiast who loves creating innovative solutions.</h4><ul id="informations"><li>🔭 Currently focused on <strong>system architecture</strong> and impactful web development projects.</li><li>🌱 Mastering <strong>ASP.NET Core</strong> to build reliable and scalable applications.</li><li>👯 Enjoy collaborating with fellow developers to brainstorm and tackle challenges.</li><li>🤔 Always seeking feedback to refine my coding skills and practices.</li><li>💬 Let’s chat about tech trends, development hurdles, or exciting project ideas!</li><li>🌍 Passionate about tech projects that positively impact health and social issues.</li><li>💡 When not coding, I’m exploring new technologies or diving into tech news.</li><li>📫 Feel free to reach out via <a href="mailto:[email protected]">E-mail</a> or <a href="https://t.me/imzihad21">Telegram</a>.</li><li>⚡ Fun fact: I thrive under pressure but know the value of taking breaks to recharge!</li></ul><div id="badges" align="center"><a href="https://wakatime.com/@3c1afc84-ed1f-42bb-a108-3d65064a0c3e"><img src="https://wakatime.com/badge/user/3c1afc84-ed1f-42bb-a108-3d65064a0c3e.svg" alt="WakaTime Badge"></a><a href="https://github.com/IMZihad21?tab=stars"><img src="https://img.shields.io/github/stars/IMZihad21?affiliations=OWNER%2CCOLLABORATOR&label=GH%20stars" alt="GitHub Stars"></a><a href="https://github.com/sponsors/IMZihad21"><img src="https://img.shields.io/github/sponsors/IMZihad21?label=GH%20sponsors&style=flat" alt="GitHub Sponsors"></a></div><div id="os-ide" align="center"><a href="#"><img src="https://img.shields.io/badge/OS-ArchLinux-darkturquoise?style=flat-square&logo=arch-linux" alt="Arch Linux"></a><a href="#"><img src="https://img.shields.io/badge/OS-Windows11-blue?style=flat-square&logo=microsoft" alt="Windows 11"></a><a href="#"><img src="https://img.shields.io/badge/OS-Android14-limegreen?style=flat-square&logo=android" alt="Android 12"></a><a href="#"><img src="https://img.shields.io/badge/IDE-VSCode-blue?style=flat-square&logo=visualstudiocode" alt="VSCode"></a></div><div id="contact" align="center"><a href="mailto:[email protected]"><img src="https://img.shields.io/badge/[email protected]?style=flat-square&logo=gmail" alt="Email"></a><a href="https://t.me/IMZihad21"><img src="https://img.shields.io/badge/Telegram-IMZihad21-royalblue?style=flat-square&logo=telegram" alt="Telegram"></a><a href="https://gist.github.com/IMZihad21"><img src="https://img.shields.io/badge/Gist-IMZihad21-aliceblue?style=flat-square&logo=GitHub" alt="Gist"></a></div><div id="stats" align="center"><img src="https://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=IMZihad21&theme=vue" alt="Profile Details"><img src="https://github-profile-summary-cards.vercel.app/api/cards/stats?username=IMZihad21&theme=vue" alt="Stats"><img src="https://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=IMZihad21&theme=vue&utcOffset=6" alt="Productive Time"><img src="http://github-profile-summary-cards.vercel.app/api/cards/repos-per-language?username=IMZihad21&theme=vue" alt="Repos per Language"><img src="http://github-profile-summary-cards.vercel.app/api/cards/most-commit-language?username=IMZihad21&theme=vue" alt="Most Commit Language"></div></div></div><div class="MuiBox-root css-0" id="articles"><h3 class="MuiTypography-root MuiTypography-h3 css-fgshj2">Latest Posts</h3><div class="MuiGrid2-root MuiGrid2-container MuiGrid2-direction-xs-row MuiGrid2-spacing-xs-2 css-mur6j8"><div class="MuiGrid2-root MuiGrid2-direction-xs-row MuiGrid2-grid-xs-12 MuiGrid2-grid-md-6 MuiGrid2-grid-lg-4 css-1svaozw"><a class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation8 MuiCard-root css-19gnxj4" style="--Paper-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)" href="https://dev.to/imzihad21/implementing-http-request-and-response-encryption-in-aspnet-core-with-custom-attributes-422b"><div class="MuiCardContent-root css-577639"><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom css-1i9np84">Implementing HTTP Request and Response Encryption in ASP.NET Core with Custom Attributes</h6><div class="MuiStack-root css-1hibzqz"><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">aes</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">encryption</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">aspnetcore</span></div></div></div><div class="MuiCardActions-root MuiCardActions-spacing css-12npzob"><div class="MuiStack-root css-csffzd"><div class="MuiAvatar-root MuiAvatar-circular css-liqgzc"><img alt="imzihad21" src="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg" class="MuiAvatar-img css-45do71"></div><h6 class="MuiTypography-root MuiTypography-subtitle2 css-1y01367">Mofajjal Rasul </h6><span class="MuiTypography-root MuiTypography-caption css-1pdknax">• <!-- -->Nov 7</span></div><div class="MuiStack-root css-iid85k"><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--solar MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="m13.087 21.388l.542-.916c.42-.71.63-1.066.968-1.262c.338-.197.763-.204 1.613-.219c1.256-.021 2.043-.098 2.703-.372a5 5 0 0 0 2.706-2.706C22 14.995 22 13.83 22 11.5v-1c0-3.273 0-4.91-.737-6.112a5 5 0 0 0-1.65-1.651C18.41 2 16.773 2 13.5 2h-3c-3.273 0-4.91 0-6.112.737a5 5 0 0 0-1.651 1.65C2 5.59 2 7.228 2 10.5v1c0 2.33 0 3.495.38 4.413a5 5 0 0 0 2.707 2.706c.66.274 1.447.35 2.703.372c.85.015 1.275.022 1.613.219c.337.196.548.551.968 1.262l.542.916c.483.816 1.69.816 2.174 0M7.5 9.715c0 1.752 2.163 3.615 3.49 4.593c.454.335.681.502 1.01.502s.556-.167 1.01-.502c1.327-.978 3.49-2.84 3.49-4.593c0-2.677-2.475-3.677-4.5-1.609c-2.025-2.068-4.5-1.068-4.5 1.609" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--lets-icons MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 10.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 4 7.16 4 9.4 4h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 7.04 21 8.16 21 10.4v1.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 18 16.84 18 14.6 18H7.414a1 1 0 0 0-.707.293l-2 2c-.63.63-1.707.184-1.707-.707zM9 8a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2z" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div></div></div></a></div><div class="MuiGrid2-root MuiGrid2-direction-xs-row MuiGrid2-grid-xs-12 MuiGrid2-grid-md-6 MuiGrid2-grid-lg-4 css-1svaozw"><a class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation8 MuiCard-root css-19gnxj4" style="--Paper-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)" href="https://dev.to/imzihad21/a-generic-repository-pattern-for-nestjs-with-mongoose-for-mongodb-gp3"><div class="MuiCardContent-root css-577639"><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom css-1i9np84">A Generic Repository Pattern for NestJS with Mongoose for MongoDB</h6><div class="MuiStack-root css-1hibzqz"><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">nestjs</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">mongodb</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">generic</span></div></div></div><div class="MuiCardActions-root MuiCardActions-spacing css-12npzob"><div class="MuiStack-root css-csffzd"><div class="MuiAvatar-root MuiAvatar-circular css-liqgzc"><img alt="imzihad21" src="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg" class="MuiAvatar-img css-45do71"></div><h6 class="MuiTypography-root MuiTypography-subtitle2 css-1y01367">Mofajjal Rasul </h6><span class="MuiTypography-root MuiTypography-caption css-1pdknax">• <!-- -->Nov 3</span></div><div class="MuiStack-root css-iid85k"><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--solar MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="m13.087 21.388l.542-.916c.42-.71.63-1.066.968-1.262c.338-.197.763-.204 1.613-.219c1.256-.021 2.043-.098 2.703-.372a5 5 0 0 0 2.706-2.706C22 14.995 22 13.83 22 11.5v-1c0-3.273 0-4.91-.737-6.112a5 5 0 0 0-1.65-1.651C18.41 2 16.773 2 13.5 2h-3c-3.273 0-4.91 0-6.112.737a5 5 0 0 0-1.651 1.65C2 5.59 2 7.228 2 10.5v1c0 2.33 0 3.495.38 4.413a5 5 0 0 0 2.707 2.706c.66.274 1.447.35 2.703.372c.85.015 1.275.022 1.613.219c.337.196.548.551.968 1.262l.542.916c.483.816 1.69.816 2.174 0M7.5 9.715c0 1.752 2.163 3.615 3.49 4.593c.454.335.681.502 1.01.502s.556-.167 1.01-.502c1.327-.978 3.49-2.84 3.49-4.593c0-2.677-2.475-3.677-4.5-1.609c-2.025-2.068-4.5-1.068-4.5 1.609" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">2</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--lets-icons MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 10.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 4 7.16 4 9.4 4h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 7.04 21 8.16 21 10.4v1.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 18 16.84 18 14.6 18H7.414a1 1 0 0 0-.707.293l-2 2c-.63.63-1.707.184-1.707-.707zM9 8a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2z" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div></div></div></a></div><div class="MuiGrid2-root MuiGrid2-direction-xs-row MuiGrid2-grid-xs-12 MuiGrid2-grid-md-6 MuiGrid2-grid-lg-4 css-1svaozw"><a class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation8 MuiCard-root css-19gnxj4" style="--Paper-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)" href="https://dev.to/imzihad21/integrating-cloudinary-with-nestjs-for-image-management-25n5"><div class="MuiCardContent-root css-577639"><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom css-1i9np84">Integrating Cloudinary with NestJS for Image Management</h6><div class="MuiStack-root css-1hibzqz"><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">nestjs</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">cloudinary</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">imageupload</span></div></div></div><div class="MuiCardActions-root MuiCardActions-spacing css-12npzob"><div class="MuiStack-root css-csffzd"><div class="MuiAvatar-root MuiAvatar-circular css-liqgzc"><img alt="imzihad21" src="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg" class="MuiAvatar-img css-45do71"></div><h6 class="MuiTypography-root MuiTypography-subtitle2 css-1y01367">Mofajjal Rasul </h6><span class="MuiTypography-root MuiTypography-caption css-1pdknax">• <!-- -->Nov 3</span></div><div class="MuiStack-root css-iid85k"><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--solar MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="m13.087 21.388l.542-.916c.42-.71.63-1.066.968-1.262c.338-.197.763-.204 1.613-.219c1.256-.021 2.043-.098 2.703-.372a5 5 0 0 0 2.706-2.706C22 14.995 22 13.83 22 11.5v-1c0-3.273 0-4.91-.737-6.112a5 5 0 0 0-1.65-1.651C18.41 2 16.773 2 13.5 2h-3c-3.273 0-4.91 0-6.112.737a5 5 0 0 0-1.651 1.65C2 5.59 2 7.228 2 10.5v1c0 2.33 0 3.495.38 4.413a5 5 0 0 0 2.707 2.706c.66.274 1.447.35 2.703.372c.85.015 1.275.022 1.613.219c.337.196.548.551.968 1.262l.542.916c.483.816 1.69.816 2.174 0M7.5 9.715c0 1.752 2.163 3.615 3.49 4.593c.454.335.681.502 1.01.502s.556-.167 1.01-.502c1.327-.978 3.49-2.84 3.49-4.593c0-2.677-2.475-3.677-4.5-1.609c-2.025-2.068-4.5-1.068-4.5 1.609" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">6</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--lets-icons MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 10.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 4 7.16 4 9.4 4h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 7.04 21 8.16 21 10.4v1.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 18 16.84 18 14.6 18H7.414a1 1 0 0 0-.707.293l-2 2c-.63.63-1.707.184-1.707-.707zM9 8a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2z" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div></div></div></a></div><div class="MuiGrid2-root MuiGrid2-direction-xs-row MuiGrid2-grid-xs-12 MuiGrid2-grid-md-6 MuiGrid2-grid-lg-4 css-1svaozw"><a class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation8 MuiCard-root css-19gnxj4" style="--Paper-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)" href="https://dev.to/imzihad21/seamlessly-integrate-swagger-with-jwt-authentication-in-nestjs-2aol"><div class="MuiCardContent-root css-577639"><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom css-1i9np84">Seamlessly Integrate Swagger with JWT Authentication in NestJS</h6><div class="MuiStack-root css-1hibzqz"><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">nestjs</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">jwt</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">swagger</span></div></div></div><div class="MuiCardActions-root MuiCardActions-spacing css-12npzob"><div class="MuiStack-root css-csffzd"><div class="MuiAvatar-root MuiAvatar-circular css-liqgzc"><img alt="imzihad21" src="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg" class="MuiAvatar-img css-45do71"></div><h6 class="MuiTypography-root MuiTypography-subtitle2 css-1y01367">Mofajjal Rasul </h6><span class="MuiTypography-root MuiTypography-caption css-1pdknax">• <!-- -->Nov 3</span></div><div class="MuiStack-root css-iid85k"><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--solar MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="m13.087 21.388l.542-.916c.42-.71.63-1.066.968-1.262c.338-.197.763-.204 1.613-.219c1.256-.021 2.043-.098 2.703-.372a5 5 0 0 0 2.706-2.706C22 14.995 22 13.83 22 11.5v-1c0-3.273 0-4.91-.737-6.112a5 5 0 0 0-1.65-1.651C18.41 2 16.773 2 13.5 2h-3c-3.273 0-4.91 0-6.112.737a5 5 0 0 0-1.651 1.65C2 5.59 2 7.228 2 10.5v1c0 2.33 0 3.495.38 4.413a5 5 0 0 0 2.707 2.706c.66.274 1.447.35 2.703.372c.85.015 1.275.022 1.613.219c.337.196.548.551.968 1.262l.542.916c.483.816 1.69.816 2.174 0M7.5 9.715c0 1.752 2.163 3.615 3.49 4.593c.454.335.681.502 1.01.502s.556-.167 1.01-.502c1.327-.978 3.49-2.84 3.49-4.593c0-2.677-2.475-3.677-4.5-1.609c-2.025-2.068-4.5-1.068-4.5 1.609" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">7</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--lets-icons MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 10.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 4 7.16 4 9.4 4h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 7.04 21 8.16 21 10.4v1.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 18 16.84 18 14.6 18H7.414a1 1 0 0 0-.707.293l-2 2c-.63.63-1.707.184-1.707-.707zM9 8a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2z" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div></div></div></a></div><div class="MuiGrid2-root MuiGrid2-direction-xs-row MuiGrid2-grid-xs-12 MuiGrid2-grid-md-6 MuiGrid2-grid-lg-4 css-1svaozw"><a class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation8 MuiCard-root css-19gnxj4" style="--Paper-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)" href="https://dev.to/imzihad21/enhancing-error-logging-in-nestjs-with-a-custom-sentry-logger-4bf"><div class="MuiCardContent-root css-577639"><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom css-1i9np84">Enhancing Error Logging in NestJS with Sentry</h6><div class="MuiStack-root css-1hibzqz"><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">nestjs</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">sentry</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">logger</span></div></div></div><div class="MuiCardActions-root MuiCardActions-spacing css-12npzob"><div class="MuiStack-root css-csffzd"><div class="MuiAvatar-root MuiAvatar-circular css-liqgzc"><img alt="imzihad21" src="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg" class="MuiAvatar-img css-45do71"></div><h6 class="MuiTypography-root MuiTypography-subtitle2 css-1y01367">Mofajjal Rasul </h6><span class="MuiTypography-root MuiTypography-caption css-1pdknax">• <!-- -->Nov 3</span></div><div class="MuiStack-root css-iid85k"><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--solar MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="m13.087 21.388l.542-.916c.42-.71.63-1.066.968-1.262c.338-.197.763-.204 1.613-.219c1.256-.021 2.043-.098 2.703-.372a5 5 0 0 0 2.706-2.706C22 14.995 22 13.83 22 11.5v-1c0-3.273 0-4.91-.737-6.112a5 5 0 0 0-1.65-1.651C18.41 2 16.773 2 13.5 2h-3c-3.273 0-4.91 0-6.112.737a5 5 0 0 0-1.651 1.65C2 5.59 2 7.228 2 10.5v1c0 2.33 0 3.495.38 4.413a5 5 0 0 0 2.707 2.706c.66.274 1.447.35 2.703.372c.85.015 1.275.022 1.613.219c.337.196.548.551.968 1.262l.542.916c.483.816 1.69.816 2.174 0M7.5 9.715c0 1.752 2.163 3.615 3.49 4.593c.454.335.681.502 1.01.502s.556-.167 1.01-.502c1.327-.978 3.49-2.84 3.49-4.593c0-2.677-2.475-3.677-4.5-1.609c-2.025-2.068-4.5-1.068-4.5 1.609" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">6</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--lets-icons MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 10.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 4 7.16 4 9.4 4h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 7.04 21 8.16 21 10.4v1.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 18 16.84 18 14.6 18H7.414a1 1 0 0 0-.707.293l-2 2c-.63.63-1.707.184-1.707-.707zM9 8a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2z" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div></div></div></a></div><div class="MuiGrid2-root MuiGrid2-direction-xs-row MuiGrid2-grid-xs-12 MuiGrid2-grid-md-6 MuiGrid2-grid-lg-4 css-1svaozw"><a class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation8 MuiCard-root css-19gnxj4" style="--Paper-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)" href="https://dev.to/imzihad21/custom-role-based-authorization-with-jwt-in-aspnet-core-e7p"><div class="MuiCardContent-root css-577639"><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom css-1i9np84">Custom Role-Based Authorization with JWT in ASP.NET Core</h6><div class="MuiStack-root css-1hibzqz"><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">dotnet</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">aspnetcore</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-1tmdry0"><span class="MuiChip-label MuiChip-labelSmall css-b9zgoq">jwt</span></div></div></div><div class="MuiCardActions-root MuiCardActions-spacing css-12npzob"><div class="MuiStack-root css-csffzd"><div class="MuiAvatar-root MuiAvatar-circular css-liqgzc"><img alt="imzihad21" src="https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg" class="MuiAvatar-img css-45do71"></div><h6 class="MuiTypography-root MuiTypography-subtitle2 css-1y01367">Mofajjal Rasul </h6><span class="MuiTypography-root MuiTypography-caption css-1pdknax">• <!-- -->Nov 3</span></div><div class="MuiStack-root css-iid85k"><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--solar MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="m13.087 21.388l.542-.916c.42-.71.63-1.066.968-1.262c.338-.197.763-.204 1.613-.219c1.256-.021 2.043-.098 2.703-.372a5 5 0 0 0 2.706-2.706C22 14.995 22 13.83 22 11.5v-1c0-3.273 0-4.91-.737-6.112a5 5 0 0 0-1.65-1.651C18.41 2 16.773 2 13.5 2h-3c-3.273 0-4.91 0-6.112.737a5 5 0 0 0-1.651 1.65C2 5.59 2 7.228 2 10.5v1c0 2.33 0 3.495.38 4.413a5 5 0 0 0 2.707 2.706c.66.274 1.447.35 2.703.372c.85.015 1.275.022 1.613.219c.337.196.548.551.968 1.262l.542.916c.483.816 1.69.816 2.174 0M7.5 9.715c0 1.752 2.163 3.615 3.49 4.593c.454.335.681.502 1.01.502s.556-.167 1.01-.502c1.327-.978 3.49-2.84 3.49-4.593c0-2.677-2.475-3.677-4.5-1.609c-2.025-2.068-4.5-1.068-4.5 1.609" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div><div class="MuiChip-root MuiChip-filled MuiChip-sizeMedium MuiChip-colorPrimary MuiChip-filledPrimary css-rrwxrl"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--lets-icons MuiChip-icon MuiChip-iconMedium MuiChip-iconColorPrimary css-4fg96v" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 10.4c0-2.24 0-3.36.436-4.216a4 4 0 0 1 1.748-1.748C6.04 4 7.16 4 9.4 4h5.2c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 7.04 21 8.16 21 10.4v1.2c0 2.24 0 3.36-.436 4.216a4 4 0 0 1-1.748 1.748C17.96 18 16.84 18 14.6 18H7.414a1 1 0 0 0-.707.293l-2 2c-.63.63-1.707.184-1.707-.707zM9 8a1 1 0 0 0 0 2h6a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2z" clip-rule="evenodd"></path></svg><span class="MuiChip-label MuiChip-labelMedium css-14vsv3w">0</span></div></div></div></a></div></div></div><div class="MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-vob8gh" id="contact-me" style="--Paper-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"><div class="MuiStack-root css-1difu8q"><h3 class="MuiTypography-root MuiTypography-h3 css-sl70pa">Contact Me</h3><p class="MuiTypography-root MuiTypography-body1 css-1yxciof">Have any questions or suggestions? Reach out to me at<!-- --> <a href="mailto:[email protected]">[email protected]</a>.</p></div></div></div></section><footer class="MuiContainer-root MuiContainer-maxWidthLg css-1nu94of"><p class="MuiTypography-root MuiTypography-body2 css-ix9va1">ZèD.</p><div class="MuiStack-root css-o9ggoj"><a class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways MuiStack-root css-qnghrk" href="https://github.com/IMZihad21" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--bi css-przbvf" width="20px" height="20px" viewBox="0 0 16 16"><path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59c.4.07.55-.17.55-.38c0-.19-.01-.82-.01-1.49c-2.01.37-2.53-.49-2.69-.94c-.09-.23-.48-.94-.82-1.13c-.28-.15-.68-.52-.01-.53c.63-.01 1.08.58 1.23.82c.72 1.21 1.87.87 2.33.66c.07-.52.28-.87.51-1.07c-1.78-.2-3.64-.89-3.64-3.95c0-.87.31-1.59.82-2.15c-.08-.2-.36-1.02.08-2.12c0 0 .67-.21 2.2.82c.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82c.44 1.1.16 1.92.08 2.12c.51.56.82 1.27.82 2.15c0 3.07-1.87 3.75-3.65 3.95c.29.25.54.73.54 1.48c0 1.07-.01 1.93-.01 2.2c0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8"></path></svg><p class="MuiTypography-root MuiTypography-body2 css-1f254i5">Github</p></a><a class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways MuiStack-root css-qnghrk" href="https://www.linkedin.com/in/imzihad21" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--bi css-przbvf" width="20px" height="20px" viewBox="0 0 16 16"><path fill="currentColor" d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248c-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586c.173-.431.568-.878 1.232-.878c.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252c-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z"></path></svg><p class="MuiTypography-root MuiTypography-body2 css-1f254i5">LinkedIn</p></a><a class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways MuiStack-root css-qnghrk" href="https://stackoverflow.com/users/16378127" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--academicons css-przbvf" width="20px" height="22.86px" viewBox="0 0 448 512"><path fill="currentColor" d="M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm226.068 64l84.99 114.55l-22.908 16.997l-84.988-114.55zm-52.836 45.822l109.745 91.268l-18.11 21.803l-109.742-91.276zm-42.127 59.121l129.333 60.596l-11.823 25.867l-129.33-60.228zM154.72 265.61l139.674 29.186l-5.913 28.09L148.81 293.69zm-65.78 36.21h28.46v85.732h199.906v-85.733h28.449V416H88.94zm56.909 28.456h142.63v28.45H145.85z"></path></svg><p class="MuiTypography-root MuiTypography-body2 css-1f254i5">StackOverflow</p></a><a class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways MuiStack-root css-qnghrk" href="mailto:[email protected]" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--mage css-przbvf" width="20px" height="20px" viewBox="0 0 24 24"><path fill="currentColor" d="M17.25 2.75H6.75A4.75 4.75 0 0 0 2 7.5v9a4.75 4.75 0 0 0 4.75 4.75h10.5A4.76 4.76 0 0 0 22 16.5v-9a4.76 4.76 0 0 0-4.75-4.75m-3.65 8.32a3.26 3.26 0 0 1-3.23 0L3.52 7.14a3.25 3.25 0 0 1 3.23-2.89h10.5a3.26 3.26 0 0 1 3.23 2.89z"></path></svg><p class="MuiTypography-root MuiTypography-body2 css-1f254i5">Email</p></a></div><h6 class="MuiTypography-root MuiTypography-subtitle1 css-1c3u2l2">@IMZihad21</h6></footer></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"profileContent":"\u003ch4\u003eHey there! I’m \u003cstrong\u003eZèD\u003c/strong\u003e, a tech enthusiast who loves creating innovative solutions.\u003c/h4\u003e\n\n\u003cul id=\"informations\"\u003e\n \u003cli\u003e🔭 Currently focused on \u003cstrong\u003esystem architecture\u003c/strong\u003e and impactful web development projects.\u003c/li\u003e\n \u003cli\u003e🌱 Mastering \u003cstrong\u003eASP.NET Core\u003c/strong\u003e to build reliable and scalable applications.\u003c/li\u003e\n \u003cli\u003e👯 Enjoy collaborating with fellow developers to brainstorm and tackle challenges.\u003c/li\u003e\n \u003cli\u003e🤔 Always seeking feedback to refine my coding skills and practices.\u003c/li\u003e\n \u003cli\u003e💬 Let’s chat about tech trends, development hurdles, or exciting project ideas!\u003c/li\u003e\n \u003cli\u003e🌍 Passionate about tech projects that positively impact health and social issues.\u003c/li\u003e\n \u003cli\u003e💡 When not coding, I’m exploring new technologies or diving into tech news.\u003c/li\u003e\n \u003cli\u003e📫 Feel free to reach out via \u003ca href=\"mailto:[email protected]\"\u003eE-mail\u003c/a\u003e or \u003ca href=\"https://t.me/imzihad21\"\u003eTelegram\u003c/a\u003e.\u003c/li\u003e\n \u003cli\u003e⚡ Fun fact: I thrive under pressure but know the value of taking breaks to recharge!\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cdiv id=\"badges\" align=\"center\"\u003e\n \u003ca href=\"https://wakatime.com/@3c1afc84-ed1f-42bb-a108-3d65064a0c3e\"\u003e\n \u003cimg src=\"https://wakatime.com/badge/user/3c1afc84-ed1f-42bb-a108-3d65064a0c3e.svg\" alt=\"WakaTime Badge\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/IMZihad21?tab=stars\"\u003e\n \u003cimg src=\"https://img.shields.io/github/stars/IMZihad21?affiliations=OWNER%2CCOLLABORATOR\u0026label=GH%20stars\" alt=\"GitHub Stars\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/sponsors/IMZihad21\"\u003e\n \u003cimg src=\"https://img.shields.io/github/sponsors/IMZihad21?label=GH%20sponsors\u0026style=flat\" alt=\"GitHub Sponsors\"\u003e\n \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv id=\"os-ide\" align=\"center\"\u003e\n \u003ca href=\"#\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/OS-ArchLinux-darkturquoise?style=flat-square\u0026logo=arch-linux\" alt=\"Arch Linux\"\u003e\n \u003c/a\u003e\n \u003ca href=\"#\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/OS-Windows11-blue?style=flat-square\u0026logo=microsoft\" alt=\"Windows 11\"\u003e\n \u003c/a\u003e\n \u003ca href=\"#\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/OS-Android14-limegreen?style=flat-square\u0026logo=android\" alt=\"Android 12\"\u003e\n \u003c/a\u003e\n \u003ca href=\"#\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/IDE-VSCode-blue?style=flat-square\u0026logo=visualstudiocode\" alt=\"VSCode\"\u003e\n \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv id=\"contact\" align=\"center\"\u003e\n \u003ca href=\"mailto:[email protected]\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/[email protected]?style=flat-square\u0026logo=gmail\" alt=\"Email\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://t.me/IMZihad21\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/Telegram-IMZihad21-royalblue?style=flat-square\u0026logo=telegram\" alt=\"Telegram\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://gist.github.com/IMZihad21\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/Gist-IMZihad21-aliceblue?style=flat-square\u0026logo=GitHub\" alt=\"Gist\"\u003e\n \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv id=\"stats\" align=\"center\"\u003e\n \u003cimg src=\"https://github-profile-summary-cards.vercel.app/api/cards/profile-details?username=IMZihad21\u0026theme=vue\" alt=\"Profile Details\"\u003e\n \u003cimg src=\"https://github-profile-summary-cards.vercel.app/api/cards/stats?username=IMZihad21\u0026theme=vue\" alt=\"Stats\"\u003e\n \u003cimg src=\"https://github-profile-summary-cards.vercel.app/api/cards/productive-time?username=IMZihad21\u0026theme=vue\u0026utcOffset=6\" alt=\"Productive Time\"\u003e\n \u003cimg src=\"http://github-profile-summary-cards.vercel.app/api/cards/repos-per-language?username=IMZihad21\u0026theme=vue\" alt=\"Repos per Language\"\u003e\n \u003cimg src=\"http://github-profile-summary-cards.vercel.app/api/cards/most-commit-language?username=IMZihad21\u0026theme=vue\" alt=\"Most Commit Language\"\u003e\n\u003c/div\u003e\n","devToArticles":[{"type_of":"article","id":2082978,"title":"Implementing HTTP Request and Response Encryption in ASP.NET Core with Custom Attributes","description":"In today's world of web development, securing the transmission of sensitive data over the internet is...","readable_publish_date":"Nov 7","slug":"implementing-http-request-and-response-encryption-in-aspnet-core-with-custom-attributes-422b","path":"/imzihad21/implementing-http-request-and-response-encryption-in-aspnet-core-with-custom-attributes-422b","url":"https://dev.to/imzihad21/implementing-http-request-and-response-encryption-in-aspnet-core-with-custom-attributes-422b","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2024-11-07T06:15:22Z","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn4ppqa72mheoz12a3g3.png","canonical_url":"https://dev.to/imzihad21/implementing-http-request-and-response-encryption-in-aspnet-core-with-custom-attributes-422b","created_at":"2024-11-07T06:15:22Z","edited_at":null,"crossposted_at":null,"published_at":"2024-11-07T06:15:22Z","last_comment_at":"2024-11-07T06:15:22Z","reading_time_minutes":4,"tag_list":["aes","encryption","aspnetcore"],"tags":"aes, encryption, aspnetcore","user":{"name":"Mofajjal Rasul ","username":"imzihad21","twitter_username":"IMZihad21","github_username":"IMZihad21","user_id":778118,"website_url":"https://imzihad21.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"}},{"type_of":"article","id":2075012,"title":"A Generic Repository Pattern for NestJS with Mongoose for MongoDB","description":"In modern web development, managing data effectively is crucial for building scalable applications....","readable_publish_date":"Nov 3","slug":"a-generic-repository-pattern-for-nestjs-with-mongoose-for-mongodb-gp3","path":"/imzihad21/a-generic-repository-pattern-for-nestjs-with-mongoose-for-mongodb-gp3","url":"https://dev.to/imzihad21/a-generic-repository-pattern-for-nestjs-with-mongoose-for-mongodb-gp3","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2024-11-03T18:29:54Z","positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkqa4qkropcuw0kz7465j.png","canonical_url":"https://dev.to/imzihad21/a-generic-repository-pattern-for-nestjs-with-mongoose-for-mongodb-gp3","created_at":"2024-11-03T18:29:56Z","edited_at":"2024-11-03T18:30:38Z","crossposted_at":null,"published_at":"2024-11-03T18:29:54Z","last_comment_at":"2024-11-03T18:29:54Z","reading_time_minutes":6,"tag_list":["nestjs","mongodb","generic","repository"],"tags":"nestjs, mongodb, generic, repository","user":{"name":"Mofajjal Rasul ","username":"imzihad21","twitter_username":"IMZihad21","github_username":"IMZihad21","user_id":778118,"website_url":"https://imzihad21.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"}},{"type_of":"article","id":2074986,"title":"Integrating Cloudinary with NestJS for Image Management","description":"In this article, we will explore how to integrate Cloudinary into a NestJS application for effective...","readable_publish_date":"Nov 3","slug":"integrating-cloudinary-with-nestjs-for-image-management-25n5","path":"/imzihad21/integrating-cloudinary-with-nestjs-for-image-management-25n5","url":"https://dev.to/imzihad21/integrating-cloudinary-with-nestjs-for-image-management-25n5","comments_count":0,"public_reactions_count":6,"collection_id":null,"published_timestamp":"2024-11-03T18:13:21Z","positive_reactions_count":6,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn66sa947uc69wd2rfl38.png","canonical_url":"https://dev.to/imzihad21/integrating-cloudinary-with-nestjs-for-image-management-25n5","created_at":"2024-11-03T18:13:22Z","edited_at":"2024-11-03T18:13:30Z","crossposted_at":null,"published_at":"2024-11-03T18:13:21Z","last_comment_at":"2024-11-03T18:13:21Z","reading_time_minutes":4,"tag_list":["nestjs","cloudinary","imageupload","backend"],"tags":"nestjs, cloudinary, imageupload, backend","user":{"name":"Mofajjal Rasul ","username":"imzihad21","twitter_username":"IMZihad21","github_username":"IMZihad21","user_id":778118,"website_url":"https://imzihad21.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"}},{"type_of":"article","id":2074958,"title":"Seamlessly Integrate Swagger with JWT Authentication in NestJS","description":"Enhancing your NestJS API with robust documentation and JWT authentication is essential for a smooth...","readable_publish_date":"Nov 3","slug":"seamlessly-integrate-swagger-with-jwt-authentication-in-nestjs-2aol","path":"/imzihad21/seamlessly-integrate-swagger-with-jwt-authentication-in-nestjs-2aol","url":"https://dev.to/imzihad21/seamlessly-integrate-swagger-with-jwt-authentication-in-nestjs-2aol","comments_count":0,"public_reactions_count":7,"collection_id":null,"published_timestamp":"2024-11-03T17:43:11Z","positive_reactions_count":7,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgtdaf71eupkrx65caot.png","canonical_url":"https://dev.to/imzihad21/seamlessly-integrate-swagger-with-jwt-authentication-in-nestjs-2aol","created_at":"2024-11-03T17:43:12Z","edited_at":"2024-11-04T15:36:33Z","crossposted_at":null,"published_at":"2024-11-03T17:43:11Z","last_comment_at":"2024-11-03T17:43:11Z","reading_time_minutes":2,"tag_list":["nestjs","jwt","swagger","webdev"],"tags":"nestjs, jwt, swagger, webdev","user":{"name":"Mofajjal Rasul ","username":"imzihad21","twitter_username":"IMZihad21","github_username":"IMZihad21","user_id":778118,"website_url":"https://imzihad21.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"}},{"type_of":"article","id":2074947,"title":"Enhancing Error Logging in NestJS with Sentry","description":"Effective error logging is vital for application stability. Integrating Sentry into a NestJS...","readable_publish_date":"Nov 3","slug":"enhancing-error-logging-in-nestjs-with-a-custom-sentry-logger-4bf","path":"/imzihad21/enhancing-error-logging-in-nestjs-with-a-custom-sentry-logger-4bf","url":"https://dev.to/imzihad21/enhancing-error-logging-in-nestjs-with-a-custom-sentry-logger-4bf","comments_count":0,"public_reactions_count":6,"collection_id":null,"published_timestamp":"2024-11-03T17:31:51Z","positive_reactions_count":6,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnvgt3ikzo8ye7ter2i0n.png","canonical_url":"https://dev.to/imzihad21/enhancing-error-logging-in-nestjs-with-a-custom-sentry-logger-4bf","created_at":"2024-11-03T17:31:52Z","edited_at":"2024-11-04T15:37:01Z","crossposted_at":null,"published_at":"2024-11-03T17:31:51Z","last_comment_at":"2024-11-03T17:31:51Z","reading_time_minutes":4,"tag_list":["nestjs","sentry","logger","exception"],"tags":"nestjs, sentry, logger, exception","user":{"name":"Mofajjal Rasul ","username":"imzihad21","twitter_username":"IMZihad21","github_username":"IMZihad21","user_id":778118,"website_url":"https://imzihad21.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"}},{"type_of":"article","id":2074908,"title":"Custom Role-Based Authorization with JWT in ASP.NET Core","description":"In this article, I’ll guide you through implementing a custom role-based authorization handler in...","readable_publish_date":"Nov 3","slug":"custom-role-based-authorization-with-jwt-in-aspnet-core-e7p","path":"/imzihad21/custom-role-based-authorization-with-jwt-in-aspnet-core-e7p","url":"https://dev.to/imzihad21/custom-role-based-authorization-with-jwt-in-aspnet-core-e7p","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2024-11-03T16:39:58Z","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuoolv9xis4oxrhslv6r.png","canonical_url":"https://dev.to/imzihad21/custom-role-based-authorization-with-jwt-in-aspnet-core-e7p","created_at":"2024-11-03T16:39:59Z","edited_at":"2024-11-03T17:32:06Z","crossposted_at":null,"published_at":"2024-11-03T16:39:58Z","last_comment_at":"2024-11-03T16:39:58Z","reading_time_minutes":3,"tag_list":["dotnet","aspnetcore","jwt","authorization"],"tags":"dotnet, aspnetcore, jwt, authorization","user":{"name":"Mofajjal Rasul ","username":"imzihad21","twitter_username":"IMZihad21","github_username":"IMZihad21","user_id":778118,"website_url":"https://imzihad21.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778118%2Fe36fd8cc-33df-4207-be95-20490c7223bd.jpeg"}}]},"__N_SSG":true},"page":"/","query":{},"buildId":"function () { [native code] }","isFallback":false,"gsp":true,"scriptLoader":[]}</script><next-route-announcer><p aria-live="assertive" id="__next-route-announcer__" role="alert" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 1px; white-space: nowrap; overflow-wrap: normal;"></p></next-route-announcer><div role="presentation" class="MuiDrawer-root MuiDrawer-modal MuiModal-root MuiModal-hidden css-1cdwdqa" aria-hidden="true"><div aria-hidden="true" class="MuiBackdrop-root MuiModal-backdrop css-14dl35y" style="opacity: 0; visibility: hidden;"></div><div tabindex="-1" data-testid="sentinelStart"></div><div class="MuiPaper-root MuiPaper-elevation MuiPaper-elevation16 MuiDrawer-paper MuiDrawer-paperAnchorLeft css-1krrxmk" tabindex="-1" style="--Paper-shadow: 0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12); visibility: hidden; pointer-events: none; transform: translateX(-130px);"><h6 class="MuiTypography-root MuiTypography-h6 css-1wjlq2p">ZèD.</h6><div class="MuiTabs-root MuiTabs-vertical css-1wubgc"><div class="MuiTabs-scroller MuiTabs-fixed css-w94xpu" style="overflow: hidden; margin-right: 0px;"><div aria-orientation="vertical" class="MuiTabs-flexContainer MuiTabs-flexContainerVertical css-ype7gs" role="tablist"><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary Mui-selected css-45eo08" tabindex="0" type="button" role="tab" aria-selected="true">Home</button><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary css-45eo08" tabindex="-1" type="button" role="tab" aria-selected="false">Articles</button><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary css-45eo08" tabindex="-1" type="button" role="tab" aria-selected="false">About</button><button class="MuiButtonBase-root MuiTab-root MuiTab-textColorPrimary css-45eo08" tabindex="-1" type="button" role="tab" aria-selected="false">Contact</button></div><span class="MuiTabs-indicator css-13dcxhe" style="top: 0px; height: 40.25px;"></span></div></div></div><div tabindex="-1" data-testid="sentinelEnd"></div></div></body></html>