<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pooja Gupta</title>
    <description>The latest articles on DEV Community by Pooja Gupta (@pooja).</description>
    <link>https://dev.to/pooja</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F920006%2F3ab18b5c-1f16-438b-bcab-de88fcf0c26a.jpg</url>
      <title>DEV Community: Pooja Gupta</title>
      <link>https://dev.to/pooja</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pooja"/>
    <language>en</language>
    <item>
      <title>Web Development Challenges and Cost-Effective Solutions</title>
      <dc:creator>Pooja Gupta</dc:creator>
      <pubDate>Tue, 11 Apr 2023 19:05:25 +0000</pubDate>
      <link>https://dev.to/logify/web-development-challenges-and-cost-effective-solutions-3dea</link>
      <guid>https://dev.to/logify/web-development-challenges-and-cost-effective-solutions-3dea</guid>
      <description>&lt;p&gt;Starting a new web development project is an exciting venture, but it can also present many challenges. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;One of the most crucial aspects of web development is &lt;strong&gt;managing the database&lt;/strong&gt;. Ensuring that your database structure supports your application's needs requires careful planning and execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Additionally, &lt;strong&gt;server infrastructure management&lt;/strong&gt; is crucial to ensure that your server is available, performing well, and secure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lastly, designing a &lt;strong&gt;secure login and access control system&lt;/strong&gt; that only allows authorized users to access sensitive data is a must.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;However, there are several cost-effective solutions available that can help you overcome these challenges.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Open-source database management systems such as &lt;strong&gt;MySQL and PostgreSQL&lt;/strong&gt; can provide an affordable and reliable solution for managing your database. &lt;/p&gt;

&lt;p&gt;Meanwhile, cloud-based solutions like &lt;strong&gt;Amazon Web Services and Microsoft Azure&lt;/strong&gt; offer scalable and cost-effective hosting solutions for your web applications.&lt;/p&gt;

&lt;p&gt;When it comes to login and access control systems, &lt;strong&gt;Logify&lt;/strong&gt; is an excellent solution. It offers advanced features for free, allowing you to focus on the core functionality of your project. With Logify, you won't have to worry about access management, nor will you need to worry about the financial implications of using a login service. As your project grows, Logify's advanced access management features will keep up with your evolving needs.&lt;/p&gt;

&lt;p&gt;In summary, web development is an exciting field, but it comes with its fair share of challenges. Managing your database, server infrastructure, and login and access control system are essential components that require careful planning and execution. However, by utilizing cost-effective solutions like Logify and open-source database management systems, you can overcome these challenges and complete your web development project successfully and within budget.&lt;/p&gt;

</description>
      <category>sso</category>
      <category>auth</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
    <item>
      <title>Login with Logify</title>
      <dc:creator>Pooja Gupta</dc:creator>
      <pubDate>Wed, 21 Sep 2022 00:00:16 +0000</pubDate>
      <link>https://dev.to/logify/login-with-logify-3ae</link>
      <guid>https://dev.to/logify/login-with-logify-3ae</guid>
      <description>&lt;p&gt;Are you a beginner looking to add an authentication service to your project? Well, you may have heard of "Login with Google" or "Login with Facebook," but have you considered the long-term implications of your choice?&lt;/p&gt;

&lt;p&gt;At this stage, it's easy to opt for any login service, but what happens when your project grows, and you require advanced features that other providers may not offer or require payment? This could halt your project's growth, leaving you frustrated and disappointed.&lt;/p&gt;

&lt;p&gt;Enter &lt;strong&gt;Login with Logify&lt;/strong&gt; - the solution to all your problems. With us, you get access to advanced features for free, allowing you to focus on the core functionality of your project. No more worrying about access management, no more worrying about the financial implications of using a login service.&lt;/p&gt;

&lt;p&gt;Our service is designed to help your project grow without limitations, enabling you to take advantage of advanced features without the need for payment. Whether you're a small startup or a large corporation, &lt;strong&gt;Login with Logify&lt;/strong&gt; is the perfect choice for your authentication needs.&lt;/p&gt;

&lt;p&gt;So why wait? Sign up today and experience the freedom of using Login with Logify - the authentication service designed with your success in mind.&lt;/p&gt;

</description>
      <category>sso</category>
      <category>auth</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>How I implemented login with logify in my existing project</title>
      <dc:creator>Pooja Gupta</dc:creator>
      <pubDate>Wed, 14 Sep 2022 16:21:53 +0000</pubDate>
      <link>https://dev.to/pooja/how-i-implemented-login-with-logify-in-my-existing-project-4o40</link>
      <guid>https://dev.to/pooja/how-i-implemented-login-with-logify-in-my-existing-project-4o40</guid>
      <description>&lt;p&gt;Initially my project has a simple counter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_0iUMfsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/veag8xjtn4nzbnyhbgoz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_0iUMfsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/veag8xjtn4nzbnyhbgoz.png" alt="Image description" width="795" height="659"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I want to show this screen after login only.&lt;/p&gt;

&lt;p&gt;**Step 1: Get a Domain Key from Logify&lt;br&gt;
Follow this article &lt;a href="https://dev.to/logify/how-to-get-a-domain-key-at-logify-httpslogifyid-34o7"&gt;How to Get a Domain Key&lt;/a&gt; to get your Domain Key if you do not already have it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Update React Project&lt;/strong&gt;&lt;br&gt;
Install node module in your existing project&lt;br&gt;
&lt;code&gt;npm install react-logify&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kUTFETKn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkuvt0tdgknfbkq2wunu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kUTFETKn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkuvt0tdgknfbkq2wunu.png" alt="Image description" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create &lt;code&gt;.env&lt;/code&gt; file&lt;/p&gt;

&lt;p&gt;Paste &lt;code&gt;REACT_APP_LOGIFY_DOMAINKEY = YOUR_DOMAIN_KEY&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sbJ47Toj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zaa8n8vi44vd53y67sgj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sbJ47Toj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zaa8n8vi44vd53y67sgj.png" alt="Image description" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Update code in App&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;useLogify&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react-logify&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Counter&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./components/CounterApp&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;onLogin&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;onLogout&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;useLogify&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;center&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onLogin&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Signup&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nx"&gt;Login&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;center&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; 
            &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt;
                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;center&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;img&lt;/span&gt; &lt;span class="nx"&gt;alt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;''&lt;/span&gt; &lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pic&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="na"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="na"&gt;borderRadius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;50%&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="na"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0 10px&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onLogout&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Logout&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/center&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;                &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Counter&lt;/span&gt;&lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run &lt;code&gt;npm start&lt;/code&gt; in terminal&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QEmvcfKr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/di4mw8lk3afnzdle3947.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QEmvcfKr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/di4mw8lk3afnzdle3947.png" alt="Image description" width="800" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After logout, I can see Login/Signup button&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0PbVdf2Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tg648t1ucge5jb7m1yg5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0PbVdf2Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tg648t1ucge5jb7m1yg5.png" alt="Image description" width="800" height="707"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If anybody wants to see the counter page, he has to login&lt;/p&gt;

&lt;p&gt;Resources&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://logify-counter-app.netlify.app/"&gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/poojasaralia12/counter-with-logify"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
