<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>You can call me Joodi Blog</title>
        <link>https://joodi.me/blog</link>
        <description>You can call me Joodi Blog</description>
        <lastBuildDate>Mon, 29 Apr 2024 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[How to create free email forwarding for your vercel app custom domain]]></title>
            <link>https://joodi.me/blog/vercel-custom-email</link>
            <guid>https://joodi.me/blog/vercel-custom-email</guid>
            <pubDate>Mon, 29 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[During my day to day use, I missed having a personalized email service with my domain, for example info[at]joodi.me]]></description>
            <content:encoded><![CDATA[<p>During my day to day use, I missed having a personalized email service with my domain, for example info[at]joodi.me
I looked on the Vercel dashboard and saw that they didn't offer this type of service, so I started searching for third-party services and found <strong><a href="https://improvmx.com/" target="_blank" rel="noopener noreferrer">ImprovMX</a></strong> .</p>
<p><img decoding="async" loading="lazy" src="https://s30.picofile.com/file/8474852726/wroject.png" alt="" class="img_ev3q"></p>
<p>What is ImprovMX?
ImprovMX offers an email forwarding service. What it basically does is catch all emails that arrive at your domain, for example, all emails that arrive at @joodi.me will be redirected to another email that I informed.</p>
<p>And you know the best?! It's free and has a very fast delivery capacity:</p>
<p><img decoding="async" loading="lazy" src="https://s30.picofile.com/file/8474852184/5555.JPG" alt="" class="img_ev3q"></p>
<p>So let's learn how to do this?
The configuration process at ImprovMX is very quick and easy, just access their website which you can open by <a href="https://improvmx.com/" target="_blank" rel="noopener noreferrer">clicking here</a> .</p>
<p>Right from the start you will come across this section where you enter your domain and the email to which you will be redirected:</p>
<p><img decoding="async" loading="lazy" src="https://s30.picofile.com/file/8474852068/im.JPG" alt="" class="img_ev3q"></p>
<p>After filling in the data and clicking on Create a free alias you will be redirected to a screen like this, where it will show you the DNS settings necessary to complete the implementation:</p>
<p><img decoding="async" loading="lazy" src="https://s30.picofile.com/file/8474852242/s02.JPG" alt="" class="img_ev3q"></p>
<p>Then just enter this DNS information into your domain provider to start the redirection, this DNS update process can take up to 48 hours to finish propagating.</p>
<p>Soon after the records are OK, you will see a screen like this:</p>
<p><img decoding="async" loading="lazy" src="https://s31.picofile.com/file/8474852276/sdsdsd.JPG" alt="" class="img_ev3q"></p>
<p>And if everything is ok, all your emails will be redirected!</p>
<p>✅ Thanks for reading!</p>
<p><a href="https://vinniciusgomes.medium.com/como-criar-aliases-de-e-mails-gratuitos-para-seu-dom%C3%ADnio-7dfd52fdcadd" target="_blank" rel="noopener noreferrer">Source</a></p>]]></content:encoded>
            <category>nextjs</category>
            <category>nextjs14</category>
            <category>improvMX</category>
        </item>
        <item>
            <title><![CDATA[Strapi is great]]></title>
            <link>https://joodi.me/blog/strapi-is-great</link>
            <guid>https://joodi.me/blog/strapi-is-great</guid>
            <pubDate>Fri, 08 Mar 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Strapi]]></description>
            <content:encoded><![CDATA[<p><strong><a href="https://strapi.io/" target="_blank" rel="noopener noreferrer">Strapi</a></strong>
is the most advanced Node.js API Content Management Framework. Halfway between a Node.js Framework and a Headless CMS, it saves weeks of API development time.
The most basic feature of a Strapi API is to expose a CRUD. That means you can easily get, create, update and delete entries.
In this article you will learn how to build powerful, secure and fast API in Node.js without writing a single line of code. 🚩</p>
<p>🚀 <a href="https://strapi.io/" target="_blank" rel="noopener noreferrer">https://strapi.io/</a></p>
<p><img decoding="async" loading="lazy" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnyoqr9cs69dy5l0traz.jpg" alt="" class="img_ev3q"></p>]]></content:encoded>
            <category>nextjs</category>
            <category>nextjs14</category>
            <category>strapi</category>
        </item>
        <item>
            <title><![CDATA[How to display images from all domains in Next.js]]></title>
            <link>https://joodi.me/blog/display-images-from-all-domains</link>
            <guid>https://joodi.me/blog/display-images-from-all-domains</guid>
            <pubDate>Sun, 18 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[To allow Next.js to display images from all domains, modify your "next.config.js" file to add an object with protocol and hostname properties to the "remotePatterns" array property.]]></description>
            <content:encoded><![CDATA[<p>To allow Next.js to display images from all domains, modify your "next.config.js" file to add an object with protocol and hostname properties to the "remotePatterns" array property.</p>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Use ** in <strong>next.config.mjs</strong></p><div class="language-jsx codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-jsx codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">/** @type {import('next').NextConfig} */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> nextConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token literal-property property" style="color:#36acaa">images</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token literal-property property" style="color:#36acaa">remotePatterns</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">              </span><span class="token literal-property property" style="color:#36acaa">protocol</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">              </span><span class="token literal-property property" style="color:#36acaa">hostname</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"**"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">default</span><span class="token plain"> nextConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div></div>]]></content:encoded>
            <category>next.js</category>
        </item>
        <item>
            <title><![CDATA[Kinde A new era of authentication]]></title>
            <link>https://joodi.me/blog/kinde-authentication</link>
            <guid>https://joodi.me/blog/kinde-authentication</guid>
            <pubDate>Fri, 05 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Kinde]]></description>
            <content:encoded><![CDATA[<p><strong><a href="https://kinde.com/" target="_blank" rel="noopener noreferrer">Kinde</a></strong>
Are you seeking a robust and secure authentication solution for your applications? ✔️
Consider Kinde Auth, a cloud-based platform offering an array of advanced features: 💢</p>
<ul>
<li>Social login for seamless access through existing social media accounts like Google and Facebook. 📢</li>
<li>Passwordless login using magic links or email codes 🤩, eliminating the need for passwords.</li>
<li>Multi-factor authentication (MFA) for an additional layer of security.</li>
<li>User management capabilities for efficient user tracking and administration.🔥</li>
<li>Role-based access control (RBAC) to manage user permissions effectively.</li>
<li>Marketing tools to help grow your user base.</li>
<li>Developer tools including SDKs and APIs for easy integration.</li>
</ul>
<p>✅ The benefits of Kinde Auth include a strong focus on security, ease of integration, flexibility to adapt to diverse needs, transparent pricing, and reliable customer support. Explore more about Kinde Auth:</p>
<ul>
<li><a href="https://kinde.com/" target="_blank" rel="noopener noreferrer">Kinde website</a></li>
<li><a href="https://kinde.com/docs/" target="_blank" rel="noopener noreferrer">Kinde Auth documentation</a></li>
<li><a href="https://kinde.com/pricing/" target="_blank" rel="noopener noreferrer">Kinde Auth pricing</a></li>
<li><a href="https://lnkd.in/dqTrpH9k" target="_blank" rel="noopener noreferrer">Kinde Auth vs. Auth0 comparison</a></li>
</ul>
<p>If you have any inquiries about Kinde Auth, I'm here to assist you! 🚩</p>
<p><img decoding="async" loading="lazy" src="https://media.licdn.com/dms/image/D4D22AQH9U8X9nbhu5w/feedshare-shrink_1280/0/1709571141101?e=1715212800&amp;v=beta&amp;t=qzvKbkZpII2fp5aR70NIoHGwRpABm84OxBgGI87ZOGk" alt="" class="img_ev3q"></p>]]></content:encoded>
            <category>nextjs</category>
            <category>nextjs14</category>
            <category>kinde</category>
        </item>
    </channel>
</rss>