<?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: Ishaan Sheikh</title>
    <description>The latest articles on DEV Community by Ishaan Sheikh (@frikishaan).</description>
    <link>https://dev.to/frikishaan</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%2F360517%2F54225c95-4075-4e3b-aa68-5fca13a13f63.jpg</url>
      <title>DEV Community: Ishaan Sheikh</title>
      <link>https://dev.to/frikishaan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/frikishaan"/>
    <language>en</language>
    <item>
      <title>Merry Christmas fellow devs 😊 https://codepen.io/sheikh_ishaan/full/PowjJrj</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Wed, 25 Dec 2024 03:52:49 +0000</pubDate>
      <link>https://dev.to/frikishaan/merry-christmas-fellow-devs-httpscodepeniosheikhishaanfullpowjjrj-27ac</link>
      <guid>https://dev.to/frikishaan/merry-christmas-fellow-devs-httpscodepeniosheikhishaanfullpowjjrj-27ac</guid>
      <description></description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Dev OPinion - Netlify Dynamic Site Challenge Submission</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Mon, 06 May 2024 04:50:48 +0000</pubDate>
      <link>https://dev.to/frikishaan/dev-opinion-netlify-dynamic-site-challenge-submission-1l3c</link>
      <guid>https://dev.to/frikishaan/dev-opinion-netlify-dynamic-site-challenge-submission-1l3c</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/netlify"&gt;Netlify Dynamic Site Challenge&lt;/a&gt;: Build with Blobs.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I have built an online poll for the common questions between developers. Each question has two options. Users can choose any one option. The votes are recorded anonymously.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;The demo is available here - &lt;a href="https://devopinion.netlify.app/" rel="noopener noreferrer"&gt;devopinion.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source Code on GitHub - &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/frikishaan" rel="noopener noreferrer"&gt;
        frikishaan
      &lt;/a&gt; / &lt;a href="https://github.com/frikishaan/devopinion" rel="noopener noreferrer"&gt;
        devopinion
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      App for the Netlify Dynamic Site Challenge
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Dev OPinion&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;It is a app created for &lt;a href="https://dev.to/devteam/join-us-for-the-netlify-dynamic-site-challenge-3000-in-prizes-3mfn" rel="nofollow"&gt;Netlify Dynamic Site challenge&lt;/a&gt; on Dev.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tech stack&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Nuxt.js&lt;/li&gt;
&lt;li&gt;Netlify&lt;/li&gt;
&lt;li&gt;Netlify Blob (for storage)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/frikishaan/devopinion" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h2&gt;
  
  
  Platform Primitives
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Netlify Blobs
&lt;/h3&gt;

&lt;p&gt;I have used &lt;a href="https://docs.netlify.com/blobs/overview/" rel="noopener noreferrer"&gt;Netlify Blobs&lt;/a&gt; to store the votes for each question.&lt;/p&gt;

&lt;p&gt;Each blob holds a JSON array of votes for each option. Below is an example of data stored in a blob.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;341&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1231&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, the first element in the array is the number of votes for the first option and the second element is a number of votes for the second option.&lt;/p&gt;

&lt;p&gt;I have used the &lt;code&gt;setJSON&lt;/code&gt; method to set the value as json in the blob.&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;await&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setJSON&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;131&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;231&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To get the value as JSON I have used the following code&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;await&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Netlify Functions
&lt;/h3&gt;

&lt;p&gt;I have used the &lt;a href="https://www.netlify.com/platform/core/functions/" rel="noopener noreferrer"&gt;Netlify functions&lt;/a&gt; as API to fetch and add votes in the blob storage.&lt;/p&gt;

</description>
      <category>netlifychallenge</category>
      <category>devchallenge</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Horizontal scroll animation</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Sat, 09 Mar 2024 10:31:04 +0000</pubDate>
      <link>https://dev.to/frikishaan/horizontal-scroll-animation-48o8</link>
      <guid>https://dev.to/frikishaan/horizontal-scroll-animation-48o8</guid>
      <description>&lt;p&gt;Horizontal scroll animation.&lt;/p&gt;

&lt;p&gt;Inspired from &lt;a href="https://youtu.be/iLmBy-HKIAw" rel="noopener noreferrer"&gt;this&lt;/a&gt; video by Kevin Powell.&lt;/p&gt;

&lt;p&gt;This can be used to show client logos, testimonials, or screenshots of your application.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sheikh_ishaan/embed/BaEjbqY?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Image zoom animation</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Sat, 03 Feb 2024 07:30:55 +0000</pubDate>
      <link>https://dev.to/frikishaan/image-zoom-animation-2081</link>
      <guid>https://dev.to/frikishaan/image-zoom-animation-2081</guid>
      <description>&lt;p&gt;This can be used in the hero section of the landing page.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sheikh_ishaan/embed/ExMQpZV?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>codepen</category>
    </item>
    <item>
      <title>How to use Linode Object Storage with Laravel</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Fri, 24 Feb 2023 08:30:00 +0000</pubDate>
      <link>https://dev.to/frikishaan/how-to-use-linode-object-storage-with-laravel-40lj</link>
      <guid>https://dev.to/frikishaan/how-to-use-linode-object-storage-with-laravel-40lj</guid>
      <description>&lt;h2&gt;
  
  
  What is Linode Object storage?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.linode.com/products/object-storage/" rel="noopener noreferrer"&gt;Linode Object Storage&lt;/a&gt; is a highly available S3 compatible object storage.&lt;br&gt;
It is used to manage unstructured data such as images, videos, etc.&lt;/p&gt;
&lt;h2&gt;
  
  
  Setting up Object Storage in Linode
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://cloud.linode.com/" rel="noopener noreferrer"&gt;Linode cloud console&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to Object Storage and select &lt;strong&gt;Create Bucket&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6j1pulrqiayl80hu80se.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6j1pulrqiayl80hu80se.png" alt="creating object storage bucket in linode" width="590" height="381"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;From the Object storage dashboard, go to &lt;strong&gt;Access key&lt;/strong&gt; tab and select create access key.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0vuy3ro7ceo773o1mho.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw0vuy3ro7ceo773o1mho.png" alt="create access key" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give it a name, and give it &lt;strong&gt;Read/Write&lt;/strong&gt; access for the bucket created in the previous step.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvz3hkg3ijzfipf8rkep5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvz3hkg3ijzfipf8rkep5.png" alt="give access to bucket" width="800" height="701"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It will show you the access and secret keys, copy and save it securely.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  Configuring Laravel application
&lt;/h2&gt;

&lt;p&gt;Since Linode Object Storage is a S3 compatible, we can use the S3 driver in Laravel for managing files.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;To use the S3 driver we need to install the &lt;code&gt;flysystem&lt;/code&gt; package in Laravel. Use the following command to install the package&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require league/flysystem-aws-s3-v3 &lt;span class="s2"&gt;"^3.0"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;We need to create some environment variables in the &lt;code&gt;.env&lt;/code&gt; file of Laravel application as follows&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;LINODE_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"your-linode-access-key"&lt;/span&gt;
&lt;span class="nv"&gt;LINODE_SECRET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"your-linode-access-secret"&lt;/span&gt;
&lt;span class="nv"&gt;LINODE_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://ap-south-1.linodeobjects.com"&lt;/span&gt;
&lt;span class="nv"&gt;LINODE_REGION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"ap-south-1"&lt;/span&gt;
&lt;span class="nv"&gt;LINODE_BUCKET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"dev-to"&lt;/span&gt;
&lt;span class="nv"&gt;LINODE_BUCKET_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://dev-to.ap-south-1.linodeobjects.com/"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;You can get the bucket url from the details of the bucket in linode cloud console.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Go to &lt;code&gt;config/filesystems.php&lt;/code&gt; config file and add the following in the &lt;code&gt;disks&lt;/code&gt; array.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="s1"&gt;'disks'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="mf"&gt;...&lt;/span&gt;
 &lt;span class="s1"&gt;'linode'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
     &lt;span class="s1"&gt;'driver'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'s3'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
     &lt;span class="s1"&gt;'key'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'LINODE_KEY'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="s1"&gt;'secret'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'LINODE_SECRET'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="s1"&gt;'endpoint'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'LINODE_ENDPOINT'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="s1"&gt;'region'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'LINODE_REGION'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="s1"&gt;'bucket'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;env&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'LINODE_BUCKET'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
     &lt;span class="s1"&gt;'visibility'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'public'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="mf"&gt;...&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Make sure you have &lt;code&gt;linode&lt;/code&gt; set as the default file system disk in the &lt;code&gt;.env&lt;/code&gt; file. Otherwise you have to specify each time you call a method.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;FILESYSTEM_DISK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;linode
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;/ol&gt;

&lt;h2&gt;
  
  
  Storing files in Linode
&lt;/h2&gt;

&lt;p&gt;Now you can use the &lt;a href="https://laravel.com/docs/master/filesystem" rel="noopener noreferrer"&gt;available methods&lt;/a&gt; in Laravel to manage the files in Linode Object Storage.&lt;/p&gt;

&lt;p&gt;For example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Storage&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nc"&gt;Storage&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;disk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'linode'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;put&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'avatars/1'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$content&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nv"&gt;$contents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Storage&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'avatars/user.jpg'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// No need to specify disk name if the default is set to 'linode'&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>laravel</category>
      <category>php</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Tiny CRM - Linode + DEV Hackathon Submission</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Sat, 18 Feb 2023 06:04:06 +0000</pubDate>
      <link>https://dev.to/frikishaan/tiny-crm-linode-dev-hackathon-submission-5gc1</link>
      <guid>https://dev.to/frikishaan/tiny-crm-linode-dev-hackathon-submission-5gc1</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I have built a CRM (Customer Relationship Management) system named &lt;strong&gt;TinyCRM&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;I am submitting this project in the &lt;strong&gt;SaaS Superstars&lt;/strong&gt; category.&lt;br&gt;
As this project has a potential to become a profitable SaaS product.&lt;/p&gt;
&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;The demo of the application is available &lt;a href="https://tiny-crm.frikishaan.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Use the below credentials to login - &lt;br&gt;
Email - &lt;a href="mailto:admin@tinycrm.com"&gt;admin@tinycrm.com&lt;/a&gt;&lt;br&gt;
Password - password&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note&lt;/strong&gt;: The test data is refreshed every hour.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fno2fts3w5es82v40nizp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fno2fts3w5es82v40nizp.png" alt="dashboard screenshot" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwj18g9hv6wlkskd4q4c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwj18g9hv6wlkskd4q4c.png" alt="leads table" width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkblsmzz9x9jtr29vdqbe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkblsmzz9x9jtr29vdqbe.png" alt="lead form" width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4z7e9y2xm9cbssn5ldj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4z7e9y2xm9cbssn5ldj.png" alt="deal form" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlha9gckxsnzymbvl1x2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlha9gckxsnzymbvl1x2.png" alt="account form" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;This CRM systems help SMEs tracking their sales and manage the customer relationships easily.&lt;/p&gt;

&lt;p&gt;This app has the following entities in it -&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Account&lt;/strong&gt; - Stores the information of client organisation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Contact&lt;/strong&gt; - Stores the information of the individual contacts in the client's organisation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Lead&lt;/strong&gt; - Stores the information of Potential clients.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Deal&lt;/strong&gt; - Stores the information of Opportunities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Products&lt;/strong&gt; - Stores the list of products that the company sell.&lt;/p&gt;
&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/frikishaan" rel="noopener noreferrer"&gt;
        frikishaan
      &lt;/a&gt; / &lt;a href="https://github.com/frikishaan/tiny-crm" rel="noopener noreferrer"&gt;
        tiny-crm
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A small and Open-source CRM built with Filament PHP &amp;amp; Laravel ❤.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Tiny crm&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/frikishaan/tiny-crm/screenshots/Dashboard%20Screenshot.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Ffrikishaan%2Ftiny-crm%2Fscreenshots%2FDashboard%2520Screenshot.png" alt="Tiny CRM dashboard screenshot" title="Tiny CRM dashboard screenshot"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/frikishaan/tiny-crm/actions/workflows/run-tests.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/frikishaan/tiny-crm/actions/workflows/run-tests.yml/badge.svg?branch=main" alt="Tests"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a small and Open-source CRM application created using the &lt;a href="https://filamentphp.com/" rel="nofollow noopener noreferrer"&gt;Filament PHP&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tech stack&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;PHP (Laravel)&lt;/li&gt;
&lt;li&gt;Filament PHP&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Local Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Clone the repository&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/frikishaan/tiny-crm.git&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Install dependencies&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;composer install &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt;installing php dependencies&lt;/span&gt;

npm install &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; installing the JS dependencies&lt;/span&gt;

npm run build &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; to build the frontend assets&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Create environment file&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;cp .env.example .env&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Generate application key&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;php artisan key:generate&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Update environment variables&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;Replace the following values in &lt;code&gt;.env&lt;/code&gt; file with your database credentials. For example -&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=tiny_crm
DB_USERNAME=postgres
DB_PASSWORD=password&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Migrate the database&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;php artisan migrate&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Optionally, you can create the dummy data by running the seeder as -&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;php artisan db:seed&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Create a user&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;php artisan make:filament-user&lt;/pre&gt;

&lt;/div&gt;


&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/frikishaan/tiny-crm" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/frikishaan/tiny-crm/blob/main/LICENSE.md" rel="noopener noreferrer"&gt;MIT license&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;There are a lot of CRM systems available in the market currently such as Salesforce, Microsoft Dynamics, etc. &lt;br&gt;
The problem with these systems are that they are very broad and quite expensive and not easy to use and also needs a dedicated developer to manage it, which becomes hard for SMEs to use and keep using these systems.&lt;/p&gt;

&lt;p&gt;So, I decided to make a CRM system which is easy to use have important required functionalities and at the same time not too expensive for SMEs.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;I have used &lt;a href="https://www.linode.com/products/dedicated-cpu/" rel="noopener noreferrer"&gt;linode's compute instances&lt;/a&gt; for servers and the linode's &lt;a href="https://www.linode.com/products/databases/" rel="noopener noreferrer"&gt;managed PostgreSQL database&lt;/a&gt;for persistent storage.&lt;/p&gt;

&lt;p&gt;While making this app I have learned to create compute instances in the linode's cloud platform.&lt;br&gt;
I have also learned installing Ngnix server and SSL certificate on the server.&lt;/p&gt;

&lt;p&gt;I have also learned creating a managed database instance on cloud and why it is an easy solution for solo devs and small teams as one does not need to manage the database by themselves.&lt;/p&gt;

&lt;p&gt;I have used &lt;a href="https://laravel.com" rel="noopener noreferrer"&gt;Laravel&lt;/a&gt; web framework for creating the app. I have also used &lt;a href="https://filamentphp.com/" rel="noopener noreferrer"&gt;Filament&lt;/a&gt; admin panel generator to quickly generate CRUD app functionality.&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.linode.com/docs/guides/how-to-create-website-using-laravel/" rel="noopener noreferrer"&gt;Built a website using Laravel framework on Linode&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.linode.com/products/" rel="noopener noreferrer"&gt;Linode Products&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>linodehackathon</category>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Codebin - MongoDB Atlas Hackathon 2022 Submission</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Thu, 08 Dec 2022 06:30:51 +0000</pubDate>
      <link>https://dev.to/frikishaan/codebin-mongodb-atlas-hackathon-2022-submission-p91</link>
      <guid>https://dev.to/frikishaan/codebin-mongodb-atlas-hackathon-2022-submission-p91</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;I have built a platform (Codebin) where user can create and view their code snippets. Users can access the list of snippets anytime using this platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;Think Outside the JS Box&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;The application is live at &lt;a href="https://codebin.onrender.com/" rel="noopener noreferrer"&gt;codebin.onrender.com&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzh5vxvztlis59xyri7m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzh5vxvztlis59xyri7m.png" alt="codebin home page" width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqm16t63ubviazrwwhhg9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqm16t63ubviazrwwhhg9.png" alt="codebin snippets list" width="800" height="501"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yyuhphtwkc15t4kfuvh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yyuhphtwkc15t4kfuvh.png" alt="codebin create snippet form" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffen8c1xmxjnmlrnzawok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffen8c1xmxjnmlrnzawok.png" alt="codebin view snippet" width="800" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;This platform is used to create and view code snippets.&lt;br&gt;
The users can view all their code snippets from the dashboard.&lt;br&gt;
The users can also add tags snippets.&lt;br&gt;
There is also a search feature available in the app which uses the MongoDB atlas' full-text search feature. It helps users to find the snippet quickly.&lt;/p&gt;
&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/frikishaan" rel="noopener noreferrer"&gt;
        frikishaan
      &lt;/a&gt; / &lt;a href="https://github.com/frikishaan/codebin" rel="noopener noreferrer"&gt;
        codebin
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This app is used to create and access code snippets. It is created for a hackathon on Dev.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Codebin&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;This is a app created for MongoDB hackathon on &lt;a href="https://dev.to/devteam/announcing-the-mongodb-atlas-hackathon-2022-on-dev-2107" rel="nofollow"&gt;Dev&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tech stack&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;ASP.NET Core (C#)&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;Auth0&lt;/li&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Live Demo&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Live demo is available &lt;a href="https://codebin.onrender.com/" rel="nofollow noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/frikishaan/codebin" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/frikishaan/codebin/blob/main/LICENSE" rel="noopener noreferrer"&gt;MIT&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;I got inspiration from the Pastebin, where user can create pastes with any content and access them from anywhere. So I decided to make an application where users can store their code snippets and access them whenever they need from the dashboard.&lt;br&gt;
Users can also search the code snippets using the full-text search functionality built using the MongoDB's in-built feature.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;I used MongoDB as a primary database for the application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2a4zwzamawpmsizk8smq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2a4zwzamawpmsizk8smq.png" alt="mongodb atlas dashboard" width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I learned how to use MongoDB with .NET applications.&lt;/p&gt;

&lt;p&gt;I have also used MongoDB's &lt;a href="https://www.mongodb.com/basics/full-text-search" rel="noopener noreferrer"&gt;Full-text search feature&lt;/a&gt; to search for code snippets for a user in application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltuoytfyb09f6c0aqpu5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltuoytfyb09f6c0aqpu5.png" alt="mongo db atlas search index" width="800" height="247"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6do16dxbm6k5cj4624rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6do16dxbm6k5cj4624rm.png" alt="codebin search feature" width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also learned some do's and don't while creating a .NET Core application.&lt;/p&gt;

&lt;p&gt;I have also learned implementing authentication using Auth0 in a .NET Core application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://learn.mongodb.com/learning-paths/using-mongodb-with-c" rel="noopener noreferrer"&gt;Courses from MongoDB&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=gM4m5LizxL8" rel="noopener noreferrer"&gt;Building ASP.NET app with MongoDB&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=jJK9alBkzU0" rel="noopener noreferrer"&gt;Creating RESTful APIs using .NET Core&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=CZIxU9heXYg" rel="noopener noreferrer"&gt;Adding Auth0 in .NET Core App&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>atlashackathon22</category>
      <category>dotnet</category>
      <category>mongodb</category>
    </item>
    <item>
      <title>Using Python list as a Stack</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Sat, 05 Nov 2022 13:34:08 +0000</pubDate>
      <link>https://dev.to/frikishaan/using-python-list-as-a-stack-3dgb</link>
      <guid>https://dev.to/frikishaan/using-python-list-as-a-stack-3dgb</guid>
      <description>&lt;h2&gt;
  
  
  What is a stack?
&lt;/h2&gt;

&lt;p&gt;Stack is a data structure which follows the *&lt;em&gt;LIFO *&lt;/em&gt; property, which means Last-In-First-Out. The element inserted last will be the first to be removed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stack operations
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Push&lt;/strong&gt;- To insert new element in the stack.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pop&lt;/strong&gt;- To remove an element from the stack.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Using python list as stack
&lt;/h2&gt;

&lt;p&gt;We can use the python's in-built list as stack data structure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Push
&lt;/h3&gt;

&lt;p&gt;You can use the in-built append method to insert element at the end of the array/list.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;stack&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# [3, 4, 5, 6]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Pop
&lt;/h3&gt;

&lt;p&gt;To pop an element we can use the in-built &lt;code&gt;pop&lt;/code&gt; method on list.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pop&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="c1"&gt;# 6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This method will remove the last element in the list, if we do not specify any element to be removed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting top of stack
&lt;/h3&gt;

&lt;p&gt;To get the top element in the stack we can use a python's in-built feature to index list from the end.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="c1"&gt;# 5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>algorithms</category>
      <category>datastructures</category>
    </item>
    <item>
      <title>Please suggest some resources for learning.</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Mon, 17 Oct 2022 13:06:17 +0000</pubDate>
      <link>https://dev.to/frikishaan/please-suggest-some-resources-for-learning-2jp0</link>
      <guid>https://dev.to/frikishaan/please-suggest-some-resources-for-learning-2jp0</guid>
      <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Do you know any courses where someone teaches creating anything from scratch, like database, search engine, compilers, programming languages, etc.&lt;/p&gt;

&lt;p&gt;From few months I am getting interested in these kind of things, as will help me understanding the systems in depth.&lt;/p&gt;

&lt;p&gt;I will even consider a paid a course/resource.&lt;/p&gt;

&lt;p&gt;I have checked &lt;a href="https://codecrafters.io/pricing" rel="noopener noreferrer"&gt;Codecrafters&lt;/a&gt;, but it is quite expensive in my country.&lt;br&gt;
I have also looked into some free &lt;a href="https://github.com/codecrafters-io/build-your-own-x" rel="noopener noreferrer"&gt;resources&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also please share if you have tried these kind of tutorials before, are they good?&lt;/p&gt;

&lt;p&gt;Thanks in advance.&lt;/p&gt;

</description>
      <category>help</category>
      <category>systems</category>
      <category>watercooler</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>How to force HTTPS in Laravel</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Wed, 20 Apr 2022 05:30:16 +0000</pubDate>
      <link>https://dev.to/frikishaan/how-to-force-https-in-laravel-e1g</link>
      <guid>https://dev.to/frikishaan/how-to-force-https-in-laravel-e1g</guid>
      <description>&lt;p&gt;To force your website to load with HTTPS in Laravel you can add the following code in your &lt;code&gt;route/web.php&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;
&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="no"&gt;Illuminate\Support\Facades\URL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;app&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'production'&lt;/span&gt;&lt;span class="p"&gt;)){&lt;/span&gt;
    &lt;span class="no"&gt;URL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;forceScheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="mf"&gt;....&lt;/span&gt;
&lt;span class="c1"&gt;// Your routes here&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is a one of doing it, of course there are other ways to do so. You can add one in the comments below.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>https</category>
    </item>
    <item>
      <title>MongoDB Submission Post - Endorsedeck</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Thu, 13 Jan 2022 17:05:26 +0000</pubDate>
      <link>https://dev.to/frikishaan/mongodb-submission-post-endorsedeck-2hnf</link>
      <guid>https://dev.to/frikishaan/mongodb-submission-post-endorsedeck-2hnf</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;This is my submission for the &lt;a href="https://dev.to/devteam/announcing-the-mongodb-atlas-hackathon-on-dev-4b6m"&gt;atlas hackathon&lt;/a&gt;. This app allows you to collect testimonials from your customers at a single place. The app is a clone of &lt;a href="https://testimonial.to/" rel="noopener noreferrer"&gt;testimonial.to&lt;/a&gt; product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;I have used the &lt;strong&gt;mongodb serverless instance&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Tech stack
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Laravel&lt;/li&gt;
&lt;li&gt;Livewire&lt;/li&gt;
&lt;li&gt;MongoDB and MySQL&lt;/li&gt;
&lt;li&gt;Tailwind&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This app has following main entities - &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Users&lt;/li&gt;
&lt;li&gt;Walls&lt;/li&gt;
&lt;li&gt;Testimonials&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I have used MySQL for users and all the authentication stuff as it comes in-built in laravel, also it does not need many read and write operations.&lt;/p&gt;

&lt;p&gt;I have used &lt;a href="https://docs.atlas.mongodb.com/tutorial/create-new-serverless-instance/" rel="noopener noreferrer"&gt;MongoDB serverless instance&lt;/a&gt; for the walls and testimonials entities as they have high number of &lt;strong&gt;read and write&lt;/strong&gt; operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;My submission category is &lt;strong&gt;Automation Innovation&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/frikishaan" rel="noopener noreferrer"&gt;
        frikishaan
      &lt;/a&gt; / &lt;a href="https://github.com/frikishaan/endorsedeck" rel="noopener noreferrer"&gt;
        endorsedeck
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Manage all your testimonials at a single place.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Endorsedeck&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;This is a project created for &lt;a href="https://dev.to/devteam/announcing-the-mongodb-atlas-hackathon-on-dev-4b6m" rel="nofollow"&gt;Atlas hackathon&lt;/a&gt; on Dev.to.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Overview&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Using this app users can collect all the testiomials at one place for all of the products and services.&lt;/p&gt;
&lt;p&gt;User can create walls from the dashboard.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/1ae807bce79b5a34ba539367f9665f3e16e5713033417cd63cec31bfa92fa312/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f397132676c6e7a3174637768386f3131737670752e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/1ae807bce79b5a34ba539367f9665f3e16e5713033417cd63cec31bfa92fa312/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f397132676c6e7a3174637768386f3131737670752e706e67" alt="endorsedeck dashboard"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Users can share the public URL of their wall where other users can submit their review and see other review.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/7738f4017291e9cf96911230f93be9537079e6c13400a047534b35c73cb27e3c/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f346a6f6e646e71396b75726669326c66773639682e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/7738f4017291e9cf96911230f93be9537079e6c13400a047534b35c73cb27e3c/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f346a6f6e646e71396b75726669326c66773639682e706e67" alt="endorsedeck public page"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can see all your reviews by clicking the eye icon form dashboard.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/a4ede7dc4198e043f79917b6a563958fde33060f353f9febfbbec1fad4daee72/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f74686436643363706c686376647162686a64346f2e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/a4ede7dc4198e043f79917b6a563958fde33060f353f9febfbbec1fad4daee72/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f74686436643363706c686376647162686a64346f2e706e67" alt="endorsedeck reviews"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have used MongoDB Serverless instance.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c2ea7450499142d2ef3fa4859abc0765f0fea8cf50d97b9c7bc0a00ce1d7fbb3/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f6537646e76707034756e797a6e723734636d38392e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/c2ea7450499142d2ef3fa4859abc0765f0fea8cf50d97b9c7bc0a00ce1d7fbb3/68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f6537646e76707034756e797a6e723734636d38392e706e67" alt="mongodb atlas database dashboard"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/frikishaan/endorsedeck" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;The demo of the app is available here at &lt;a href="https://endorsedeck.herokuapp.com/" rel="noopener noreferrer"&gt;endorsedeck.herokuapp.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;User can create walls from the dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9q2glnz1tcwh8o11svpu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9q2glnz1tcwh8o11svpu.png" alt="endorsedeck dashboard" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Users can share the public URL of their wall where other users can submit their review and see other review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4jondnq9kurfi2lfw69h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4jondnq9kurfi2lfw69h.png" alt="endorsedeck public page" width="800" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every testimonial is associated with a wall. You can see all your reviews by clicking the eye icon form dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fthd6d3cplhcvdqbhjd4o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fthd6d3cplhcvdqbhjd4o.png" alt="endorsedeck reviews" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have used MongoDB Serverless instance for this project to store walls and testimonials.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7dnvpp4unyznr74cm89.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7dnvpp4unyznr74cm89.png" alt="mongodb atlas database dashboard" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Write something on my wall &lt;a href="https://endorsedeck.herokuapp.com/ishaan/wall/61e10f3c5c114b6d9f2d4f72" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Tailwind Responsive Timeline Example</title>
      <dc:creator>Ishaan Sheikh</dc:creator>
      <pubDate>Sun, 25 Jul 2021 08:54:21 +0000</pubDate>
      <link>https://dev.to/frikishaan/tailwind-responsive-timeline-example-5233</link>
      <guid>https://dev.to/frikishaan/tailwind-responsive-timeline-example-5233</guid>
      <description>&lt;p&gt;A simple timeline component using Tailwind CSS.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/sheikh_ishaan/embed/oNWpgoK?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>tailwindcss</category>
      <category>css</category>
    </item>
  </channel>
</rss>
