<?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: Naveen Jujaray</title>
    <description>The latest articles on DEV Community by Naveen Jujaray (@naveenjujaray).</description>
    <link>https://dev.to/naveenjujaray</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%2F418298%2Fbab7bab6-4ba3-41ae-b0db-cd3480a6f4f9.jpg</url>
      <title>DEV Community: Naveen Jujaray</title>
      <link>https://dev.to/naveenjujaray</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/naveenjujaray"/>
    <language>en</language>
    <item>
      <title>Tell me interesting things about flutter.</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Sat, 28 Nov 2020 16:09:12 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/tell-me-interesting-things-about-flutter-4n4d</link>
      <guid>https://dev.to/naveenjujaray/tell-me-interesting-things-about-flutter-4n4d</guid>
      <description>&lt;p&gt;I couldn't find best works done in flutter I hope you can share with me.&lt;/p&gt;

</description>
      <category>flutter</category>
    </item>
    <item>
      <title>Adaptive Theme on Flutter</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Tue, 01 Sep 2020 06:16:47 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/adaptive-theme-on-flutter-5960</link>
      <guid>https://dev.to/naveenjujaray/adaptive-theme-on-flutter-5960</guid>
      <description>&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%2Ful91i3wrmluiyi4yf08t.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%2Ful91i3wrmluiyi4yf08t.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Easiest way to add support for light and dark theme in your flutter app. It allows to manually set light or dark theme and also lets you define themes based on the system (Works for Android only for now). It also persists the theme modes changes across app restarts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Installation
&lt;/h4&gt;

&lt;p&gt;add following dependency to your &lt;strong&gt;&lt;em&gt;pubspec.yaml&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dependencies:

adaptive_theme: ^1.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Usage
&lt;/h4&gt;

&lt;p&gt;You need to wrap your &lt;strong&gt;&lt;em&gt;MaterialApp&lt;/em&gt;&lt;/strong&gt; with &lt;strong&gt;&lt;em&gt;AdaptiveTheme&lt;/em&gt;&lt;/strong&gt; in order to apply themes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'package:adaptive\_theme/adaptive\_theme.dart';

import 'package:flutter/material.dart';

void main() {

runApp(MyApp());

}

class MyApp extends StatelessWidget {

@override

Widget build(BuildContext context) {

return AdaptiveTheme(

light: ThemeData(

brightness: Brightness.light,

primarySwatch: Colors.red,

accentColor: Colors.amber,

),

dark: ThemeData(

brightness: Brightness.dark,

primarySwatch: Colors.red,

accentColor: Colors.amber,

),

initial: AdaptiveThemeMode.light,

builder: (theme, darkTheme) =&amp;gt; MaterialApp(

title: 'Adaptive Theme Demo',

theme: theme,

darkTheme: darkTheme,

home: MyHomePage(),

),

);

}

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

&lt;/div&gt;



&lt;h4&gt;
  
  
  Changing Theme Mode
&lt;/h4&gt;

&lt;p&gt;Now that you have initialized your app as mentioned above. It’s very easy and straight forward to change your theme modes: &lt;strong&gt;&lt;em&gt;light to dark, dark to light or to system default.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// sets theme mode to dark

AdaptiveTheme.of(context).setDark();

// sets theme mode to light

AdaptiveTheme.of(context).setLight();

// sets theme mode to system default

AdaptiveTheme.of(context).setSystem();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Ceveats
&lt;/h4&gt;

&lt;p&gt;Non-Persist theme changes&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is only useful in scenarios where you load your themes dynamically from network in the splash screen or some initial screens of the app. Please note that AdaptiveTheme does not persist the themes, it only persists the theme modes(light/dark/system). Any changes made to the provided themes won’t be persisted and you will have to do the same changes at the time of the initialization if you want them to apply every time app is opened. e.g changing the accent color.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Using SharedPreferences&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This package uses sharedpreferences plugin internally to persist theme mode changes. If your app uses sharedpreferences which might be the case all the time, clearing your sharedpreferences at the time of logging out or signing out might clear these preferences too. Be careful not to clear these preferences if you want it to be persisted.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AdaptiveTheme.prefKey
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can use above key to exclude it while clearing the all the preferences.&lt;/p&gt;

&lt;p&gt;Or you can call &lt;strong&gt;&lt;em&gt;AdaptiveTheme.persist()&lt;/em&gt;&lt;/strong&gt; method after clearing the preferences to make it persistable again as shown below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;final prefs = await SharedPreferences.getInstance();

await pref.clear();

AdaptiveTheme.persist();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;for live example of adaptive_theme : &lt;a href="https://developerfolio.web.app" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for more check this &lt;a href="https://pub.dev/packages/adaptive_theme" rel="noopener noreferrer"&gt;out&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>flutter</category>
      <category>ui</category>
      <category>tutorial</category>
      <category>android</category>
    </item>
    <item>
      <title>I'm building a Flutter OCR app</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Mon, 24 Aug 2020 19:38:19 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/i-m-building-a-flutter-ocr-app-dnb</link>
      <guid>https://dev.to/naveenjujaray/i-m-building-a-flutter-ocr-app-dnb</guid>
      <description>&lt;p&gt;I'm building an Voice assisted Optical Character Recognition with Reading out recognised text loudly based on Flutter with &lt;code&gt;firebase_ml_vision&lt;/code&gt;plugin. &lt;/p&gt;

&lt;p&gt;The problem is I'm unable to read the recognised text loudly. Any ideas would be helpful.&lt;/p&gt;

&lt;p&gt;Don't hesitate to open a discussion below.&lt;/p&gt;

</description>
      <category>dart</category>
      <category>android</category>
      <category>beginners</category>
      <category>help</category>
    </item>
    <item>
      <title>Suggestion about Mini Project</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Mon, 17 Aug 2020 16:51:18 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/suggestion-about-mini-project-4kj3</link>
      <guid>https://dev.to/naveenjujaray/suggestion-about-mini-project-4kj3</guid>
      <description>&lt;p&gt;I'm searching for Projects based on &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;li&gt;Deep Learning&lt;/li&gt;
&lt;li&gt;Neural Network&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Java &lt;/li&gt;
&lt;li&gt;C/C++
and which ever related to &lt;strong&gt;IEEE&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope you guys will help me out in the comment section below.&lt;br&gt;
Thanks in advance.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>help</category>
      <category>python</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Walls — Ad Free Wallpapers a Flutter App</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/walls-ad-free-wallpapers-a-flutter-app-27hg</link>
      <guid>https://dev.to/naveenjujaray/walls-ad-free-wallpapers-a-flutter-app-27hg</guid>
      <description>&lt;h3&gt;
  
  
  Walls — Ad Free Wallpapers a Flutter App
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’m a noob to Android Development but Flutter made Android Development simple in a way that i had completed this app with no skills in span of 14 Days, if you’re interested in Flutter then you should check what i made.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Check Walls on &lt;a href="https://play.google.com/store/apps/details?id=com.naveenjujaray.walls" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;
&lt;/h4&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%2Flbfhgkadf25x7icyq95d.jpeg" 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%2Flbfhgkadf25x7icyq95d.jpeg" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Introducing — Walls
&lt;/h3&gt;

&lt;p&gt;Walls is a wallpaper service flutter application for Android Devices where the it’s beautiful photos are gifted by World’s Most Generous Community of Photographers and has a responsive UI which makes playful interact with users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flutter packages used in Walls
&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%2Fjnw1o2qvsw9p8scxbbjg.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%2Fjnw1o2qvsw9p8scxbbjg.png" width="800" height="1314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;cupertino_icons, flutter_swiper, flutter_custom_clippers, intro_views_flutter, wave, font_awesome_flutter, url_launcher, url_launcher_web, dio, shared_preferences, random_string, image_picker_saver, permission, permission_handler, bottomreveal, charts_flutter, animated_floatactionbuttons, share, intl, flare_flutter, rxdart, rxdart_codemod, flutter_bloc, cached_network_image, wallpaper: package_info, flutter_staggered_grid_view, crop, http, image_gallery_saver, firebase_database, timeago, firebase_core, email_validator, cloud_firestore: firebase_auth, firebase_messaging, flutter_local_notifications, firebase_admob, quick_actions, full_screen_image, launch_review, in_app_purchase&lt;/p&gt;

&lt;h3&gt;
  
  
  Wallpapers service used in Walls
&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%2Fublbbbvlu0yxkhbjm058.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%2Fublbbbvlu0yxkhbjm058.png" width="800" height="1314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Walls is using an &lt;a href="https://www.pexels.com/" rel="noopener noreferrer"&gt;Pexels&lt;/a&gt;API as wallpaper service. &lt;strong&gt;Pexels&lt;/strong&gt; is a free stock photo and video website and app that helps designers, bloggers, and everyone who is looking for visuals to find great photos and videos that can be downloaded and used for free. (no strings attached !!).&lt;/p&gt;

&lt;p&gt;So Pexels made it clear it can be used by anyone so i used it as wallpaper service. There are more free stock photo websites like Pexels you should check them out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Any thoughts of Ads ?
&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%2F6s1gk7frnlzh6vb51fn1.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%2F6s1gk7frnlzh6vb51fn1.png" width="800" height="1314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At first thought of implementing Ads in Walls which made me think about what i experienced about other wallpaper apps which i used before so, i thought of making Walls as an Open Source &amp;amp; Ad Free for the user.&lt;/p&gt;

&lt;p&gt;It’s a disturbance to download or to choose a wallpaper in between of ads. Right ?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Wallpaper of phone makes an personality of phone and person where ads make your personality delay in choose them.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  How to request for new features?
&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%2Fsdkhys3ml16qibk7plc3.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%2Fsdkhys3ml16qibk7plc3.png" width="800" height="1314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Users are important for an application whether it may most popular app or least popular. Here comes the feedback feature where you can post the feedback, issues, or request new features.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“As a developer, it matters all the time to update it to you.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  In which countries Walls is available ?
&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%2Fslj15p2kxks025nfyx8n.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%2Fslj15p2kxks025nfyx8n.png" width="800" height="1314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Walls — is published on Google Play and available in countries where Google play services serve which is almost all the countries so it can be suggested to a friend in your foreign country.&lt;/p&gt;

&lt;h3&gt;
  
  
  In-App-Purchase
&lt;/h3&gt;

&lt;p&gt;The only in app purchase on Walls is to support the developer so, don’t worry about Subscriptions / No-Ads / Pro &amp;amp; others.&lt;/p&gt;

&lt;p&gt;Get on &lt;a href="https://play.google.com/store/apps/details?id=com.naveenjujaray.walls" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check Walls on : &lt;a href="https://itsallwidgets.com/walls" rel="noopener noreferrer"&gt;It’s All Widgets!&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>dart</category>
      <category>flutter</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Portfolio with Dark mode</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Mon, 10 Aug 2020 07:24:08 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/portfolio-with-dark-mode-56da</link>
      <guid>https://dev.to/naveenjujaray/portfolio-with-dark-mode-56da</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A clean, beautiful and responsive portfolio template with Dark Mode enabled for Developers!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://github.com/naveenjujaray/DeveloperFolio" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt; -- &lt;a href="https://developerfolio.web.app" rel="noopener noreferrer"&gt;Live View&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Dark-mode
&lt;/h2&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%2Fi%2Fez8kmejzhln4oysbm0bh.gif" 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%2Fi%2Fez8kmejzhln4oysbm0bh.gif" alt="Alt Text" width="600" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sections
&lt;/h2&gt;

&lt;p&gt;✔️ Summary and About me&lt;/p&gt;

&lt;p&gt;✔️ Skills&lt;/p&gt;

&lt;p&gt;✔️ Proficiency&lt;/p&gt;

&lt;p&gt;✔️ Achievements 🏆&lt;/p&gt;

&lt;p&gt;✔️ Blogs&lt;/p&gt;

&lt;p&gt;✔️ Contact me&lt;/p&gt;

&lt;p&gt;for more details check this &lt;a href="https://dev.to/naveenjujaray/portfolio-template-using-flutter-1ifl"&gt;post&lt;/a&gt; &lt;/p&gt;

</description>
      <category>flutter</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Portfolio Template using Flutter</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Fri, 31 Jul 2020 17:13:09 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/portfolio-template-using-flutter-1ifl</link>
      <guid>https://dev.to/naveenjujaray/portfolio-template-using-flutter-1ifl</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;“A clean, beautiful and responsive portfolio template for Developers !”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you created something awesome and want to contribute then feel free to open Please don’t hesitate to open an pull request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/naveenjujaray/DeveloperFolio" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt; -- &lt;a href="https://developerfolio.web.app" rel="noopener noreferrer"&gt;Live View&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Desktop View
&lt;/h2&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%2Fahe9a4dwjjnp3rl33r1l.gif" 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%2Fahe9a4dwjjnp3rl33r1l.gif" alt="Desk" width="600" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tablet view
&lt;/h2&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%2F5a9jg4vlr4xhi586xl3y.gif" 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%2F5a9jg4vlr4xhi586xl3y.gif" alt="Tab" width="480" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Mobile View
&lt;/h2&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%2Fcmlpngyhmqnmrij601rv.gif" 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%2Fcmlpngyhmqnmrij601rv.gif" alt="Mob" width="430" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sections
&lt;/h2&gt;

&lt;p&gt;✔️ Summary and About me&lt;/p&gt;

&lt;p&gt;✔️ Skills&lt;/p&gt;

&lt;p&gt;✔️ Proficiency&lt;/p&gt;

&lt;p&gt;✔️ Achievements 🏆&lt;/p&gt;

&lt;p&gt;✔️ Blogs&lt;/p&gt;

&lt;p&gt;✔️ Contact me&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;From your command line, clone and run developerFolio:&lt;/p&gt;

&lt;p&gt;In-order to work with this repo you need to have flutter beta installed on your system.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Clone this repository
$ git clone 

# Go into the repository
$ cd DeveloperFolio

# Get Packages
$ flutter pub get

# Build Web using Flutter
$ flutter build web

# Launch/View
$ flutter run -d chrome
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Deployment 📦
&lt;/h2&gt;

&lt;p&gt;When you are done with the setup, you should host your website online. We highly recommend to read through the docs for &lt;a href="https://firebase.google.com/docs/hosting/quickstart" rel="noopener noreferrer"&gt;Firebase&lt;/a&gt; Hosting.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Before you can install the Firebase CLI, you will need to install Node.js on your machine.
$ npm install -g firebase-tools

# Firebase Login
$ firebase login

# Initialize Firebase
$ firebase init

# Deploy to Firebase
$ firebase deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  For the Future
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dark Mode&lt;/li&gt;
&lt;li&gt;Connect with LinkedIn to get Summary, Skills, Education and Experience&lt;/li&gt;
&lt;li&gt;Connect with Github to get Customized Pins, Profile Details
Personalization Page to edit everything in once place.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more details check my &lt;a href="http://naveenjujaray.js.org/" rel="noopener noreferrer"&gt;blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🧰 50 Developer tools to make your life a little easier</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Fri, 31 Jul 2020 06:30:00 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/50-developer-tools-to-make-your-life-a-little-easier-f2</link>
      <guid>https://dev.to/naveenjujaray/50-developer-tools-to-make-your-life-a-little-easier-f2</guid>
      <description>&lt;p&gt;Fifty (plus) applications, chrome extensions, web apps, and everything in between that will hopefully come in handy at some point in your programming life. I will keep updated as new tools are discovered. Please feel free to add to the comments anything you find.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Whatruns
&lt;/h2&gt;

&lt;p&gt;A free browser extension that helps you identify technologies used on any website at the click of a button.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.whatruns.com/" rel="noopener noreferrer"&gt;Whatruns&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%2Ff1lg0c7n7hk0fkxxir77.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%2Ff1lg0c7n7hk0fkxxir77.png" alt="501" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Sizzy
&lt;/h2&gt;

&lt;p&gt;The browser for developers. Stop wasting time and speed up your development workflow&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://sizzy.co/" rel="noopener noreferrer"&gt;Sizzy&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%2F7syaao48kb1y6e0da2jg.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%2F7syaao48kb1y6e0da2jg.png" alt="502" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Log Rocket
&lt;/h2&gt;

&lt;p&gt;LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://logrocket.com/" rel="noopener noreferrer"&gt;Log Rocket&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%2Fnpqe7dzaz9dx8zycqu1m.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%2Fnpqe7dzaz9dx8zycqu1m.png" alt="503" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Sentry
&lt;/h2&gt;

&lt;p&gt;Sentry’s application monitoring platform helps every developerdiagnose, fix, and optimize the performance of their code.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://sentry.io/" rel="noopener noreferrer"&gt;Sentry&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F504.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F504.jfif" alt="504" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Can I Use?
&lt;/h2&gt;

&lt;p&gt;“Can I use” provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://caniuse.com/" rel="noopener noreferrer"&gt;Can I Use&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F505.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F505.jfif" alt="505" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Prettier
&lt;/h2&gt;

&lt;p&gt;An opinionated code formatter, Supports many languages,Integrates with most editors,Has few options.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://prettier.io/" rel="noopener noreferrer"&gt;Prettier&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F506.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F506.jfif" alt="506" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. CSS Scan
&lt;/h2&gt;

&lt;p&gt;Goodbye to “Inspect Element” — Check the CSS of any element you hover over, instantly, and copy its entire rules with a single click.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://getcssscan.com/" rel="noopener noreferrer"&gt;CSS Scan&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%2Fogssh0o5jja5p9e7e4yf.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%2Fogssh0o5jja5p9e7e4yf.png" alt="507" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Bundlephobia
&lt;/h2&gt;

&lt;p&gt;Find the cost of adding a npm package to your bundle&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://bundlephobia.com/" rel="noopener noreferrer"&gt;Bundlephobia&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%2Fv573ezf4zrnrw7ro0qlf.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%2Fv573ezf4zrnrw7ro0qlf.png" alt="508" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Cypress
&lt;/h2&gt;

&lt;p&gt;Fast, easy and reliable testing for anything that runs in a browser.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.cypress.io/" rel="noopener noreferrer"&gt;Cypress&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F509.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F509.jfif" alt="509" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Unminify
&lt;/h2&gt;

&lt;p&gt;Free tool to unminify (unpack, deobfuscate) JavaScript, CSS, HTML, XML and JSON code, making it readable and pretty.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://unminify.com/" rel="noopener noreferrer"&gt;Unminify&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%2Fh2as3gwna9eh5059cdp3.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%2Fh2as3gwna9eh5059cdp3.png" alt="510" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  11. RegEx 101
&lt;/h2&gt;

&lt;p&gt;Free PCRE-based regular expression debugger with real time explanation, error detection and highlighting.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://dev.to/scottw/-regex-101-ei9-temp-slug-1258619"&gt;RegEx 101&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%2Feu4wrfq8ymv3pslgku4m.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%2Feu4wrfq8ymv3pslgku4m.png" alt="511" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  12. Clear Cache
&lt;/h2&gt;

&lt;p&gt;Clear your cache and browsing data with a single click of a button.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://chrome.google.com/webstore/detail/clear-cache/cppjkneekbjaeellbfkmgnhonkkjfpdn?hl=en%20" rel="noopener noreferrer"&gt;Clear Cache&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F512.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F512.jfif" alt="512" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  13. Window Resizer
&lt;/h2&gt;

&lt;p&gt;Resize the browser window to emulate various screen resolutions.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh" rel="noopener noreferrer"&gt;Window Resizer&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F513.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F513.jfif" alt="513" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  14. Wappalyzer
&lt;/h2&gt;

&lt;p&gt;Wappalyzer is a utility that uncovers the technologies used on websites. It detects content management systems, ecommerce platforms, web frameworks, server software, analytics tools and many more&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg" rel="noopener noreferrer"&gt;Wappalyzer&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%2Fd339fqqusypo23nozysy.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%2Fd339fqqusypo23nozysy.png" alt="514" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  15. MDN
&lt;/h2&gt;

&lt;p&gt;The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://developer.mozilla.org/en-US/" rel="noopener noreferrer"&gt;MDN&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%2Fzs0togxnwcu3mvvm1fof.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%2Fzs0togxnwcu3mvvm1fof.png" alt="515" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  16. Axe
&lt;/h2&gt;

&lt;p&gt;The Standard in Accessibility Testing. Chosen by Microsoft, Google, development and testing teams everywhere, axe is the World’s leading digital accessibility toolkit.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.deque.com/axe/" rel="noopener noreferrer"&gt;Axe&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%2Fy3bly0hrmug3i67m0fdx.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%2Fy3bly0hrmug3i67m0fdx.png" alt="516" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  17. Git Graph
&lt;/h2&gt;

&lt;p&gt;Git Graph extension for Visual Studio Code. View a Git Graph of your repository, and easily perform Git actions from the graph. Configurable to look the way you want!&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph" rel="noopener noreferrer"&gt;Git Graph&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F517.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F517.jfif" alt="517" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  18. Kontrast - WCAG Contrast Checker
&lt;/h2&gt;

&lt;p&gt;Quickly check and adjust contrast in realtime in your browser to meet WCAG 2.1 requirements.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://chrome.google.com/webstore/detail/kontrast-wcag-contrast-ch/haphaaenepedkjngghandlmhfillnhjk" rel="noopener noreferrer"&gt;Kontrast&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F518.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F518.jfif" alt="518" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  19. Octotree
&lt;/h2&gt;

&lt;p&gt;Browser extension that enhances GitHub code review and exploration.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc" rel="noopener noreferrer"&gt;Octotree&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F519.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F519.jfif" alt="519" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  20. Postwoman
&lt;/h2&gt;

&lt;p&gt;Web alternative to Postman - Helps you create requests faster, saving precious time on development&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://postwoman.io/" rel="noopener noreferrer"&gt;Postwoman&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%2Fk2n01wutdqj3hwwbhiw1.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%2Fk2n01wutdqj3hwwbhiw1.png" alt="520" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  21. Responsively App
&lt;/h2&gt;

&lt;p&gt;Develop responsive web apps 5x faster! A must-have DevTool for all Front-End developers that will make your job easier.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://responsively.app/" rel="noopener noreferrer"&gt;Responsively App&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F521.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F521.jfif" alt="521" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  22. FullStory
&lt;/h2&gt;

&lt;p&gt;Deliver exceptional experiences by letting our easy-to-use, intelligent software pinpoint when, where, and how user struggle is affecting your revenue and retention&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.fullstory.com/" rel="noopener noreferrer"&gt;FullStory&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F522.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F522.jfif" alt="522" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  23. gitignore.io
&lt;/h2&gt;

&lt;p&gt;Create useful .gitignore files for your project&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.toptal.com/developers/gitignore" rel="noopener noreferrer"&gt;gitignore.io&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%2Fjvuwak0nzc5n5it1b6h8.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%2Fjvuwak0nzc5n5it1b6h8.png" alt="523" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  24. 1Loc
&lt;/h2&gt;

&lt;p&gt;206 Favorite JavaScript Utilities in single line of code! No more!&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://1loc.dev/" rel="noopener noreferrer"&gt;1Loc&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%2Fizfr5l50n9swxhe2e0xo.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%2Fizfr5l50n9swxhe2e0xo.png" alt="524" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  25. Does it mutate?
&lt;/h2&gt;

&lt;p&gt;Go to Site &lt;a href="https://doesitmutate.xyz/" rel="noopener noreferrer"&gt;Does it mutate?&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%2Fwvfutnad1iqmq1dzrsvg.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%2Fwvfutnad1iqmq1dzrsvg.png" alt="525" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  26. Keycode
&lt;/h2&gt;

&lt;p&gt;Press any key to get the JavaScript event keycode&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://keycode.info/" rel="noopener noreferrer"&gt;Keycode&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%2Fyx65si99lc7wpwti2lir.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%2Fyx65si99lc7wpwti2lir.png" alt="526" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  27. Worth It: Modern JS edition
&lt;/h2&gt;

&lt;p&gt;This tool analyzes a page to determine how much less JavaScript is downloaded in modern browsers as a result of it using the module/nomodule pattern.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://module-nomodule-calculator.glitch.me/" rel="noopener noreferrer"&gt;Worth It&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%2F5618iczm3xcg9o0i0r29.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%2F5618iczm3xcg9o0i0r29.png" alt="527" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  28. npmview
&lt;/h2&gt;

&lt;p&gt;A web application to view npm package files.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://npmview.now.sh/" rel="noopener noreferrer"&gt;npmview&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%2F0t7yx51lnwbfbub2oc6d.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%2F0t7yx51lnwbfbub2oc6d.png" alt="528" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  29. CSS to JS
&lt;/h2&gt;

&lt;p&gt;Transform between CSS, JS Objects and JSX props.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://css2js.dotenv.dev/" rel="noopener noreferrer"&gt;CSS to JS&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%2Fhiqybt2rfkd23lc1o2em.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%2Fhiqybt2rfkd23lc1o2em.png" alt="529" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  30. All Characters
&lt;/h2&gt;

&lt;p&gt;A simple page that shows all the different characters and their HTML code.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://aymkdn.github.io/characters/" rel="noopener noreferrer"&gt;All Characters&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F530.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F530.jfif" alt="530" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  31. Shape Catcher
&lt;/h2&gt;

&lt;p&gt;This is a tool to help you find Unicode characters. Finding a specific character whose name you don’t know is cumbersome. On shapecatcher.com, all you need to know is the shape of the character!&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://shapecatcher.com/" rel="noopener noreferrer"&gt;Shape Catcher&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%2Fbno6i2odcw3cl8ce550b.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%2Fbno6i2odcw3cl8ce550b.png" alt="531" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  32. Mocky
&lt;/h2&gt;

&lt;p&gt;Don’t wait for the backend to be ready, generate custom API responses with Mocky and start working on your application straightaway&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://designer.mocky.io/" rel="noopener noreferrer"&gt;Mocky&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%2Fpkw120w4yhu3fzer3xgg.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%2Fpkw120w4yhu3fzer3xgg.png" alt="532" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  33. Explain Shell
&lt;/h2&gt;

&lt;p&gt;Write down a command-line to see the help text that matches each argument&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://dev.to/scottw/explain-shell-5blp-temp-slug-1275153"&gt;Explain Shell&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%2Fihkwlqdja0f36v5qgul0.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%2Fihkwlqdja0f36v5qgul0.png" alt="533" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  34. Base64 Image
&lt;/h2&gt;

&lt;p&gt;Convert your images to Base64&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.base64-image.de/" rel="noopener noreferrer"&gt;Base64 Image&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F534.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F534.jfif" alt="534" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  35. Open Graph Check
&lt;/h2&gt;

&lt;p&gt;When sharing content on Facebook and other social networks, clickattractivity is really important. An optimized preview tailored to the target group leads to significant improvements in the Click Trough Rate. Opengraphcheck.com will help you do the job best. And the most awesome thing is the Open Graph Check is for free!&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://opengraphcheck.com/" rel="noopener noreferrer"&gt;Open Graph Check&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%2Fmj2um2xg37v9nkv8y8e4.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%2Fmj2um2xg37v9nkv8y8e4.png" alt="535" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  36. Brotli pro
&lt;/h2&gt;

&lt;p&gt;Brotli. Next Level. Compression. Ready?&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.brotli.pro/" rel="noopener noreferrer"&gt;Brotli pro&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F536.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F536.jfif" alt="536" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  37. Responsive Breakpoints
&lt;/h2&gt;

&lt;p&gt;Easily generate the optimal responsive image dimensions&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.responsivebreakpoints.com/" rel="noopener noreferrer"&gt;Responsive Breakpoints&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F537.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F537.jfif" alt="537" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  38. Is my host fast yet?
&lt;/h2&gt;

&lt;p&gt;Real-world server response (Time to First Byte) latencies, as experienced by real-world users navigating the web.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://ismyhostfastyet.com/" rel="noopener noreferrer"&gt;Is my host fast yet?&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F538.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F538.jfif" alt="538" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  39. Check My Links
&lt;/h2&gt;

&lt;p&gt;Check My Links is a link checker that crawls through your webpage and looks for broken links.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://chrome.google.com/webstore/detail/check-my-links/ojkcdipcgfaekbeaelaapakgnjflfglf?hl=en-GB" rel="noopener noreferrer"&gt;Check My Links&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F539.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F539.jfif" alt="539" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  40. JSON Web Token
&lt;/h2&gt;

&lt;p&gt;Encode or Decode JWTs&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.jsonwebtoken.io/" rel="noopener noreferrer"&gt;JSON Web Token&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F540.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F540.jfif" alt="540" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  41. Git Kraken
&lt;/h2&gt;

&lt;p&gt;Legendary Git client for Windows, Mac &amp;amp; Linux. Free for open source&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.gitkraken.com/" rel="noopener noreferrer"&gt;Git Kraken&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F541.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F541.jfif" alt="541" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  42. BEM Cheat Sheet
&lt;/h2&gt;

&lt;p&gt;When it comes to finding the right class name, it can quickly drive you to despair. Even the most experienced CSS developers don’t always find the right class name right away. This tool aims to help you to not get lost in the BEM cosmos by giving you naming-suggestions for some of the most common web components.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://9elements.com/bem-cheat-sheet" rel="noopener noreferrer"&gt;BEM Cheat Sheet&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F542.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F542.jfif" alt="542" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  43. Can I Email
&lt;/h2&gt;

&lt;p&gt;Go to Site &lt;a href="https://www.caniemail.com/" rel="noopener noreferrer"&gt;Can I Email&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%2Fdbti2iuai8284nkya68t.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%2Fdbti2iuai8284nkya68t.png" alt="543" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  44. CSS Grid Generator
&lt;/h2&gt;

&lt;p&gt;You can set the numbers, and units of your columns and rows, and I’ll generate a CSS grid for you! Drag within the boxes to create divs placed within the grid.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://cssgrid-generator.netlify.app/" rel="noopener noreferrer"&gt;Css Grid Generator&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F544.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F544.jfif" alt="544" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  45. Screen size map
&lt;/h2&gt;

&lt;p&gt;A comparison of screen sizes in device-independent pixel&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://screensizemap.com/" rel="noopener noreferrer"&gt;Screen size map&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F545.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F545.jfif" alt="545" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  46. Who can use?
&lt;/h2&gt;

&lt;p&gt;Who can use this color combination?&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://whocanuse.com/" rel="noopener noreferrer"&gt;Who can use?&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%2Fdw7sn5m3w2g1f1cqz2rv.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%2Fdw7sn5m3w2g1f1cqz2rv.png" alt="546" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  47. Will it CORS?
&lt;/h2&gt;

&lt;p&gt;Tell this magic CORS machine what you want, and it’ll tell you exactly what to do.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://httptoolkit.tech/will-it-cors/" rel="noopener noreferrer"&gt;CORS&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%2Fdmilc0llz54edlsu62cx.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%2Fdmilc0llz54edlsu62cx.png" alt="547" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  48. extractCSS
&lt;/h2&gt;

&lt;p&gt;Extract CSS from HTML&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="http://extractcss.com/" rel="noopener noreferrer"&gt;extractCSS&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%2Fbv1czfilgufoakxnn2so.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%2Fbv1czfilgufoakxnn2so.png" alt="548" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  49. Metatags
&lt;/h2&gt;

&lt;p&gt;With Meta Tags you can edit and experiment with your content then preview how your webpage will look on Google, Facebook, Twitter and more!&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://metatags.io/" rel="noopener noreferrer"&gt;Metatags&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F549.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F549.jfif" alt="549" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  50. Shieldfy
&lt;/h2&gt;

&lt;p&gt;Automatically identify and fix security issues and vulnerabilities in your code before it hits to production.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://shieldfy.io/" rel="noopener noreferrer"&gt;Shieldfy&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F550.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F550.jfif" alt="550" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  51. YAML Checker
&lt;/h2&gt;

&lt;p&gt;YAML Checker provides a quick and easy way to validate YAML. As you type, your YAML will be validated with beautiful syntax highlighting and error information.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://yamlchecker.com/" rel="noopener noreferrer"&gt;YAML Checker&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%2Fafiz8hnvyh89jgxyeh9w.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%2Fafiz8hnvyh89jgxyeh9w.png" alt="551" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  52. Polypane
&lt;/h2&gt;

&lt;p&gt;All the tools you need to build amazing responsive, accessible and fast websites and apps in a single standalone browser.&lt;/p&gt;

&lt;p&gt;Go to Site &lt;a href="https://polypane.app/" rel="noopener noreferrer"&gt;Polypane&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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F552.jfif" 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%2Fnaveenjujaray.js.org%2Fassets%2Fimages%2Fprojectchallenges%2F552.jfif" alt="552" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>featured</category>
    </item>
    <item>
      <title>Flutter for Web</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Mon, 20 Jul 2020 00:30:00 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/flutter-for-web-171f</link>
      <guid>https://dev.to/naveenjujaray/flutter-for-web-171f</guid>
      <description>&lt;h2&gt;
  
  
  What is Flutter Web?
&lt;/h2&gt;

&lt;p&gt;A connected &lt;code&gt;P&lt;/code&gt;rogressive &lt;code&gt;W&lt;/code&gt;eb &lt;code&gt;A&lt;/code&gt;pplication built with Flutter&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Web&lt;/code&gt; support for &lt;code&gt;Flutter&lt;/code&gt; enables existing mobile-based applications to be packaged as a &lt;code&gt;PWA&lt;/code&gt; for reach to a broader variety of devices, or to provide a companion &lt;code&gt;web&lt;/code&gt; experience to an existing app.&lt;/p&gt;

&lt;p&gt;In addition to mobile apps, Flutter supports the generation of web content rendered using standards-based web technologies: HTML, CSS and JavaScript. With web support, you can compile existing Flutter code written in Dart into a client experience that can be embedded in the browser and deployed to any web server. You can use all the features of Flutter, and you don’t need a browser plug-in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flutter Solves The Backend &amp;amp; Frontend Problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Flutter’s &lt;code&gt;reactive&lt;/code&gt; framework brushes aside the need to get references to the widgets. On the other hand, it facilitates a single language to structure backend. That’s why Flutter is the &lt;code&gt;best&lt;/code&gt; app development &lt;code&gt;framework&lt;/code&gt; in the &lt;code&gt;21st century&lt;/code&gt; to be used by &lt;code&gt;Android developers&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to activate Flutter Web ?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;if you want to install flutter check this&lt;/code&gt; &lt;a href="https://naveenjujaray.js.org/flutterinstall" rel="noopener noreferrer"&gt;article&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Run the following commands to use the latest version of the Flutter SDK from the beta channel and enable web support:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $ flutter channel beta
 $ flutter upgrade
 $ flutter config --enable-web
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once web is enabled, the &lt;code&gt;flutter devices&lt;/code&gt; command outputs a &lt;code&gt;Chrome&lt;/code&gt; device that opens the Chrome browser with your app running, and a Web Server that provides the URL serving the app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; flutter devices
2 connected device:

Web Server • web-server • web-javascript • Flutter Tools
Chrome • chrome • web-javascript • Google Chrome 81.0.4044.129
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create and run
&lt;/h2&gt;

&lt;p&gt;To create a new app that includes web support (in addition to mobile support), run the following commands, substituting &lt;code&gt;myapp&lt;/code&gt; with the name of your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $ flutter create myapp
 $ cd myapp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To serve your app from &lt;code&gt;localhost&lt;/code&gt; in Chrome, enter the following from the top of the package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ flutter run -d chrome
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A release build uses &lt;code&gt;dart2js&lt;/code&gt; (instead of the &lt;code&gt;development compiler&lt;/code&gt;) to produce a single JavaScript file &lt;code&gt;main.dart.js&lt;/code&gt;. You can create a release build using release mode (&lt;code&gt;flutter run --release&lt;/code&gt;) or by using &lt;code&gt;flutter build web&lt;/code&gt;. This populates a &lt;code&gt;build/web&lt;/code&gt; directory with built files, including an assets directory, which need to be served together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add web support to an existing app
&lt;/h2&gt;

&lt;p&gt;To add web support to an existing project, run the following command in a terminal from the root project directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ flutter create .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Hosting
&lt;/h2&gt;

&lt;p&gt;Check out this &lt;a href="https://dev.to/naveenjujaray/free-hosting-sites-with-instructions-29e9-temp-slug-6554260"&gt;page&lt;/a&gt; to know more about hosting Flutter Web.&lt;/p&gt;

</description>
      <category>featured</category>
    </item>
    <item>
      <title>The Magic Of Interactive UI With React</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Fri, 17 Jul 2020 00:30:00 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/the-magic-of-interactive-ui-with-react-53n1</link>
      <guid>https://dev.to/naveenjujaray/the-magic-of-interactive-ui-with-react-53n1</guid>
      <description>&lt;h2&gt;
  
  
  What Is React?
&lt;/h2&gt;

&lt;p&gt;Do you remember how Facebook’s UI or it’s messenger looked a few years back? During that time you had to refresh or reload the entire page for new updates or messages repeatedly. But now it’s no longer required. Today, each time there is a new update or message, a notification will pop up. Clicking on that will then automatically refresh your page and show you the latest updates. So, how exactly does this happen? Well, this is the magic of ReactJS and in this blog, I am going to discuss what is React and why you should go for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript Frameworks
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Javascript&lt;/em&gt; is a dynamic programming language which is widely used for developing web applications. It is very lightweight and is supported by most of the modern browsers. Moreover, JavaScript supports both object-oriented programming and procedural programming. Thus, it is used for creating web pages with a client-side script to interact with the user and make the web pages dynamic and robust.JavaScript has many frameworks among which we can choose depending on our need. Below diagram shows some popular JavaScript frameworks.&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%2Fxy4lfn5hcgt4uzbbbqyq.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%2Fxy4lfn5hcgt4uzbbbqyq.png" alt="javascript frameworks" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following are the major advantages provided by the JavaScript Frameworks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency:&lt;/strong&gt; With the use of pre-built patterns and functions, the development of the applications became easy. The projects which used to take months to develop can now be developed in very less time. This increased the efficiency as well as reduced the time and effort involved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security:&lt;/strong&gt; As JavaScript is an open source community, its top frameworks have strong security arrangements. Frameworks are supported by these large communities in which, the members and the users can also act as testers. This increases the chances of detecting any kind of backdoor or bug present in the framework. Thus providing better security at less cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost Reduction:&lt;/strong&gt; JavaScript Frameworks are free for public use as they are open source. So, when we develop a web application using these frameworks, the overall cost of the application is much lesser.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Because of all these advantages, JavaScript frameworks are used heavily for developing web-applications. They have already proved their potential over the past few years. Among them, the most popular ones are React and Angular. &lt;strong&gt;“Even though React is young, it is giving a neck to neck competition to Angular”&lt;/strong&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%2Ftyjlsi5exm70fv9vwb3m.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%2Ftyjlsi5exm70fv9vwb3m.png" alt="angular vs reactjs" width="800" height="200"&gt;&lt;/a&gt;So, through this blog, we’ll be learning all about ReactJS. But before understanding what is React, you need to understand why we need it in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why React?
&lt;/h2&gt;

&lt;p&gt;There were so many JavaScript frameworks available in the market but still React came into the picture. Let’s dive little deeper and find out the reason why ReactJS was needed.&lt;/p&gt;

&lt;p&gt;Here, the data is received from various sources like initial data, real-time data and user input data which is passed to the dispatcher. The dispatcher then forwards this data to the store, from where it ultimately comes to the view. Now, the view is the part where you or a user interact with the application. So, whatever you see on the browser as a web page is the view itself.&lt;/p&gt;

&lt;p&gt;But, &lt;code&gt;what do you think happens at the back end of the frameworks using this traditional data flow?&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Each time new data is added or any data is updated at the back end, the browser reloads the web page and repeats the whole process again. Only after this, we can see the updated data on the view. But this traditional data flow has one major drawback, it uses the &lt;code&gt;DOM&lt;/code&gt; (Document Object Model). DOM is an object that is created by the browser each time a web page is loaded which can dynamically add or remove the data at the back end. But each time any modifications were done a new DOM is created for the same page. This repeated creation of DOM results in unnecessary memory wastage and a decrease in applications performance.&lt;/p&gt;

&lt;p&gt;Moreover, manipulating DOM was very expensive. Therefore, there was a search for new technology which could save us from this trouble. This is where ReactJS comes to our rescue. With ReactJS, you can divide your entire application into various independent components. ReactJS applications still used the same traditional data flow, but something changed at the back end. Below diagram shows exactly what was going on at the back end.&lt;/p&gt;

&lt;p&gt;Now, each time any data is added or updated from the back end, ReactJS uses a new tactic to deal with it. Instead of reloading the entire page, what React does is, it just destroys the old view. Afterward, it renders the view components with updates or new data and then places the new view in place of the old one. As a solution to the memory wastage due to DOM, React introduced &lt;code&gt;Virtual DOM&lt;/code&gt;. You might be curious about &lt;code&gt;what is this virtual DOM&lt;/code&gt; and how it solves our problem? Don’t worry, I’ll be explaining that later in this blog in detail, but for now, let’s understand what is React.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is React?
&lt;/h2&gt;

&lt;p&gt;React is a component-based library which is used to develop &lt;code&gt;interactive UI&lt;/code&gt;’s (User Interfaces). It is currently one of the most popular JavaScript front-end libraries which has a strong foundation and a large community supporting it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;code&gt;NOTE&lt;/code&gt;: ReactJS is only a frontend library and not the whole framework, which deals with the &lt;strong&gt;View&lt;/strong&gt; component of &lt;strong&gt;MVC&lt;/strong&gt; (Model – &lt;strong&gt;View&lt;/strong&gt; – Controller).&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Gatsby JS and Why Use It?</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Thu, 16 Jul 2020 00:30:00 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/what-is-gatsby-js-and-why-use-it-28h0</link>
      <guid>https://dev.to/naveenjujaray/what-is-gatsby-js-and-why-use-it-28h0</guid>
      <description>&lt;h2&gt;
  
  
  What Is Gatsby JS?
&lt;/h2&gt;

&lt;p&gt;Welcome! In this article we are going to learn about Gatsby JS, what it is and why you would use it.&lt;/p&gt;

&lt;p&gt;So let’s start with the question, &lt;code&gt;“What is Gatsby?”&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Put most simply, Gatsby is a static site generator.Now what does that mean?&lt;/p&gt;
&lt;h2&gt;
  
  
  What is a Static Site Generator?
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;p&gt;The static site part of this means that what Gatsby will produce for us are static HTML files that we load up on to a server.&lt;/p&gt;

&lt;p&gt;Now this works differently than how a lot of websites work where you visit a website and it has to go query a database or do some programming on the server itself in order to serve your web pages.&lt;/p&gt;

&lt;p&gt;So Gatsby is going to break that convention and have all of the stuff &lt;code&gt;already pre-configured&lt;/code&gt; ahead of time and &lt;code&gt;just serve&lt;/code&gt; that up.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s important to point out that static sites do not mean not interactive or not dynamic.So, we can load JavaScript into the HTML files that Gatsby serves as well as make API calls do interactions and build incredibly rich and immersive sites even though they are static in their nature of just being HTML files served up &lt;code&gt;without&lt;/code&gt; programming &lt;code&gt;server-side&lt;/code&gt; languages running.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So that’s the static side of things.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Gatsby is also a generator. This means that Gatsby is actually a tool we run on our computer most commonly, although you can run Gatsby on a server, and it is going to generate content for you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the common setup that we’ll practice here we run Gatsby &lt;code&gt;locally&lt;/code&gt; on our computer when we’re building a site and then we generate out the final finished product that Gatsby will spit out, which is a &lt;code&gt;Gatsby static site&lt;/code&gt;, and again this will &lt;code&gt;include&lt;/code&gt; &lt;code&gt;HTML CSS JavaScript images&lt;/code&gt; all the stuff that we need for our site to run, Gatsby will generate it for us so we want to think of Gatsby as a tool that will help us build a final product but we’re not just like in queueing and throwing Gatsby into an existing site necessarily.&lt;/p&gt;

&lt;p&gt;In order to do all of this generation Gatsby is going to use Node JS. Node will be running in a development environment on your computer itself. However the final sight when you ship a Gatsby sight live because it’s static it will not need Node JS on the server itself.&lt;/p&gt;

&lt;p&gt;It’s using node to help generate the files as part of its tooling system but the final result does not require node to run on the server side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gatsby JS Uses GraphQL
&lt;/h2&gt;

&lt;p&gt;One of the great things about Gatsby is that it’s going to use the &lt;code&gt;GraphQL&lt;/code&gt; querying &lt;code&gt;language&lt;/code&gt; to get data from anywhere.&lt;/p&gt;

&lt;p&gt;If you’re not familiar with &lt;code&gt;GraphQL&lt;/code&gt;, it is an evolution of how to make &lt;code&gt;API&lt;/code&gt; calls simpler and more efficient. And it’s a really great tool that you’re probably going to enjoy getting into if you don’t already know it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The most exciting part of this is that we can get our data into a Gatsby site from anywhere!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We could use &lt;code&gt;markdown&lt;/code&gt; files, we can access databases, we could hook into common CMS’s like &lt;code&gt;WordPress&lt;/code&gt; and &lt;code&gt;other&lt;/code&gt; headless CMS, as well as even just a &lt;code&gt;CSV&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Because we have node running in our development environment and we have this GraphQL language, we have a huge range of abilities of what we could do to pull data into Gatsby itself.&lt;/p&gt;

&lt;p&gt;This is important to remember that Gatsby is not going to handle our data for us rather it will get that data pulled into Gatsby and generate the site from that data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gatsby Uses React for Templates
&lt;/h2&gt;

&lt;p&gt;Gatsby also uses &lt;code&gt;React&lt;/code&gt; and CSS which hopefully you’re familiar with. React is going to be used for all of the templates and CSS for the styling.&lt;/p&gt;

&lt;p&gt;So, GraphQL will pull in our data, React will take care of what the template should look like and the styling is CSS. Then finally everything will be exported out into that final, super fast static Gatsby site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gatsby Has a Rich Plugin Ecosystem
&lt;/h2&gt;

&lt;p&gt;I also want to mention that Gatsby is built with a &lt;code&gt;plugin architecture&lt;/code&gt; and this is a great system.&lt;/p&gt;

&lt;p&gt;Because what we’re serving up is a static site how we go about interacting with JavaScript and other things can get a little complicated. So it’s really nice that we could pull this complex code out into plugins and we could rely on a huge ecosystem of other plug-in authors to do some of the heavy lifting with common things for us.&lt;/p&gt;

&lt;p&gt;This plugin architecture is a huge part of Gatsby and what makes it so popular and powerful.&lt;/p&gt;

&lt;h2&gt;
  
  
  “What is Gatsby?” Review
&lt;/h2&gt;

&lt;p&gt;So just to briefly review, Gatsby is a static site generator that uses GraphQL to get data, React for templating and it’s got a plugin architecture.&lt;/p&gt;

&lt;p&gt;So that is “What is Gatsby?”&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Use Gatsby?
&lt;/h2&gt;

&lt;p&gt;Now let’s talk about “Why Use Gatsby?”&lt;/p&gt;

&lt;p&gt;In one simple sentence, you use Gatsby for its speed security and improved developer experience.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Arguably one of the biggest gains that you get with Gatsby, because it is generating a static site, is going to be the speed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is going to be way faster than many of the alternatives, even compared to cached sites using WordPress and things like that because that static site is really hard to beat in terms of its speed and performance.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Also because of the static nature and just shipping HTML files this is going to be inherently more secure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There &lt;code&gt;isn’t&lt;/code&gt; a live database to &lt;code&gt;hack&lt;/code&gt; or &lt;code&gt;access&lt;/code&gt;. There is not user data that is going to be stored on the server with the Gatsby site. So even &lt;code&gt;if&lt;/code&gt; somebody were to be able to &lt;code&gt;hack&lt;/code&gt; the server itself they’re still &lt;code&gt;only&lt;/code&gt; going to get access to &lt;code&gt;HTML&lt;/code&gt; files and will be able to do far less damage than they could if they were getting access to for example a WordPress site or had access to the user data or purchasers credit card information and all that kind of stuff.&lt;/p&gt;

&lt;p&gt;So we’re gonna have huge &lt;code&gt;security&lt;/code&gt; gains when we work with Gatsby.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Finally, the third major gain with Gatsby is improved developer experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’m really glad that this is something important in the &lt;code&gt;developer community&lt;/code&gt; today. It can be really draining and annoying for developers to work with antiquated stacks.&lt;/p&gt;

&lt;p&gt;One of the nice things about working with Gatsby is that you have a &lt;code&gt;modern&lt;/code&gt; development environment. The tooling is simple and robust. The languages are modern and clean. Overall it’s a really great environment to be working in. That extends also into the community of other developers.&lt;/p&gt;

&lt;p&gt;If you are a developer this should be super clear to you and exciting. If you’re not a developer and learning about Gatsby at a high level, remember that this is something you really need to value in your projects: the developers overall experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gatsby JS is Open Source with a Paid Team
&lt;/h2&gt;

&lt;p&gt;The last thing to remember about all of this is that Gatsby has a solid team open-source community and great documentation.&lt;/p&gt;

&lt;p&gt;Gatsby is an open-source project which has some great wins in terms of its ability to grow and people contribute to it. Also it’s free! That’s no small thing.&lt;/p&gt;

&lt;p&gt;However, unlike some open-source communities, Gatsby also has a team of professional, paid people that are there to help the open-source project grow and flourish.&lt;/p&gt;

&lt;p&gt;This is a great thing if you’re considering investing in a technology that might not have the long term support you probably don’t have to worry about that with Gatsby.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gatsby Values Documentation
&lt;/h2&gt;

&lt;p&gt;Additionally, there is great documentation and that is really helpful when working with a tool to know that you’ll be supported in the documentation. The Gatsby team seems to take that seriously and do a great job with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Quick Review of Gatsby JS
&lt;/h2&gt;

&lt;p&gt;So, all that said let’s just do a quick review here of everything that we’ve learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Gatsby is a static site generator&lt;/li&gt;
&lt;li&gt;Under the hood it uses Node, GraphQL and React&lt;/li&gt;
&lt;li&gt;Its primary benefits are speed security and developer experience&lt;/li&gt;
&lt;li&gt;Gatsby has a stable and growing community of developers and plug-in authors&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Create your own blog easily with Gatsby</title>
      <dc:creator>Naveen Jujaray</dc:creator>
      <pubDate>Tue, 14 Jul 2020 06:53:00 +0000</pubDate>
      <link>https://dev.to/naveenjujaray/create-your-own-blog-easily-with-gatsby-3dk2</link>
      <guid>https://dev.to/naveenjujaray/create-your-own-blog-easily-with-gatsby-3dk2</guid>
      <description>&lt;p&gt;&lt;a href="https://www.gatsbyjs.org/" rel="noopener noreferrer"&gt;Gatsby&lt;/a&gt; is a Static site generator. (There are so many kinds of generator like Jekyll(Ruby), Hexo(Node.js), Hugo(Go), etc.) Gatsby support PWA(Progressive Web App), Hot reloading, SSR(Server Side Rendering).&lt;/p&gt;

&lt;p&gt;You can see more detailed in &lt;a href="https://www.gatsbyjs.org/features/" rel="noopener noreferrer"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Gatsby CLI and Gatsby Starter
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm i -g gatsby-cli
$ gatsby new &amp;lt;&amp;lt;BLOG_NAME&amp;gt;&amp;gt; https://github.com/wonism/gatsby-advanced-blog
$ cd &amp;lt;&amp;lt;BLOG_NAME&amp;gt;&amp;gt;
$ npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Basic structure of project
&lt;/h2&gt;

&lt;p&gt;The project has the following structure.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;src/
├── components
│ ├── ... # Many of shared sections
│ └── layout.jsx # general layout for page
├── constants
├── containers # to connect states to react component
├── html.jsx # page template for page
├── pages # pages of your web site
│ ├── 404.jsx
│ └── index.js
├── postComponents # react application that will be added in page
│ └── ...
├── resources # asset files
│ └── images
├── store # to use redux
│ ├── ...
│ └── index.js
├── templates # template for creating page with file system
│ └── ...
└── utils # utilities
    └── ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a post
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ mkdir src/pages/&amp;lt;&amp;lt;DIRECTORY_NAME&amp;gt;&amp;gt;
$ touch src/pages/&amp;lt;&amp;lt;DIRECTORY_NAME&amp;gt;&amp;gt;/index.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These markdown files are referred by the gatsby-source-filesystem and converted to HTML files by gatsby-transformer-remark.&lt;/p&gt;

&lt;p&gt;These are called at build time. You can check this createPages in gatsby-node.js.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caution
&lt;/h2&gt;

&lt;p&gt;There is a .sample.md file in «PROJECT_ROOT»/src/pages.If you delete this file, you can not get category, image, etc. in frontmatter of GraphQL query.&lt;/p&gt;

&lt;p&gt;The .sample.md file serves as the dummy data and creates custom frontmatter fields.&lt;/p&gt;

&lt;h2&gt;
  
  
  The basic components of a markdown file
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
path: "/hello-world/"
category: "Sample"
tags: ["tag", "should", "be", "array"]
title: "Hello, World!"
date: "2018-08-15T00:00:00.000Z"
summary: "You can create your own blog with Gatsby!"
---

Content of this page
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;path is a &lt;strong&gt;required&lt;/strong&gt; attribute to create a page. It must be unique.&lt;/li&gt;
&lt;li&gt;category allows you to create category pages and access to pages like &lt;code&gt;/categories/&amp;lt;&amp;lt;CATEGORY_NAME&amp;gt;&amp;gt;/&amp;lt;&amp;lt;PAGE_NUMBER&amp;gt;&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;tags allows you to create tag pages and access to pages like &lt;code&gt;/tags/&amp;lt;&amp;lt;TAG_NAME&amp;gt;&amp;gt;/&amp;lt;&amp;lt;PAGE_NUMBER&amp;gt;&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;As you can see the name oof property. &lt;code&gt;title&lt;/code&gt; is the title of the page, and &lt;code&gt;summary&lt;/code&gt; is a summary of the page.&lt;/li&gt;
&lt;li&gt;date is the date the post was created, and posts are sorted based on it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(You can more detailed information about the formatting in &lt;a href="https://github.com/jonschlinkert/gray-matter" rel="noopener noreferrer"&gt;gray-matter&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;Those will be called by query in &lt;em&gt;src/templates/Post.jsx.&lt;/em&gt; and you can run the query directly on &lt;code&gt;http://localhost:8000/___graphql&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Add image into post
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;images: ["(&amp;lt;&amp;lt;src/resources/&amp;gt;&amp;gt;)PATH_TO/IMAGE"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use an absolute path including &lt;em&gt;http://&lt;/em&gt; or &lt;em&gt;https://&lt;/em&gt;. or use a relative path relative to src/resources.( &lt;strong&gt;On line 145 ofcomponents/Post/index.jsx&lt;/strong&gt; , the image is imported via &lt;strong&gt;IF CONDITION ? «image» : ‘«src/resources/${image}»‘&lt;/strong&gt; )&lt;/p&gt;

&lt;h2&gt;
  
  
  Add react application into post
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
path: "/inject-app/"
category: "Sample"
tags: ["tag", "must", "be", "array"]
title: "Injecting React application"
date: "2018-08-15T00:00:00.000Z"
summary: "You can inject react application into post"
components: [{
  rootId: 'sample-component', # &amp;lt;div id="sample-component"&amp;gt;&amp;lt;/div&amp;gt; must be in contents
  fileName: 'sample', # this will render src/postComponents/sample/index.jsx
}]
---

1. ...

&amp;lt;div id="sample-component"&amp;gt;&amp;lt;/div&amp;gt;

2. ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Put an object in the array. Object has to include the path to the file of the react application that is to be added and the ID of the tag to be rendered.
&lt;/h2&gt;

&lt;p&gt;Then, in the middle of the article, add the tag with this ID where you want to insert the react application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add tweet into post
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
path: "/inject-tweet/"
category: "Sample"
tags: ["tag", "must", "be", "array"]
title: "Injecting Tweet"
date: "2018-08-15T00:00:00.000Z"
summary: "You can inject tweet into post"
tweets: [{
  rootId: 'sample-tweet', # &amp;lt;div id="sample-tweet"&amp;gt;&amp;lt;/div&amp;gt; must be in contents
  userId: 'twitter', # twitter user id
  tweetId: '977557540199456775', # tweet id
}]
---

1. ...

&amp;lt;div id="sample-tweet"&amp;gt;&amp;lt;/div&amp;gt;

2. ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Put an object in the array. Object has to include the tweet’s ID and the author or the tweet and the ID of the tag to be rendered.&lt;/p&gt;

&lt;p&gt;You can use it as you added the react application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Add codes into post
&lt;/h3&gt;

&lt;p&gt;If you write the three back quote before and after the codes that you want to highlight, It will be highlighted by &lt;code&gt;gatsby-remark-prismjs&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add portfolios
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ mkdir src/resources/&amp;lt;&amp;lt;DIRECTORY_NAME&amp;gt;&amp;gt;
$ touch src/resources/&amp;lt;&amp;lt;DIRECTORY_NAME&amp;gt;&amp;gt;/index.md

---
type: "portfolio"
title: "Gatsby Advanced Blog"
date: "2018-08-15T00:00:00.000Z"
path: "/portfolios/portfolio-1/"
images: [
  "test-1/1.png",
  "test-1/2.png",
]
---

# Gatsby Advanced Blog

## What I did
- Develop Gatsby Advanced Blog

## Libraries / Tools
- ReactJS
- Redux
- Redux saga
- ...

[Go to Web Site →](https://github.com/wonism/gatsby-advanced-blog)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;path is a &lt;strong&gt;required&lt;/strong&gt; attribute to create a page. It must be unique.&lt;/li&gt;
&lt;li&gt;type is a value that allows you to specify the format of the page, in this case it should be &lt;code&gt;portfolio&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;title&lt;/code&gt; is the title of the portfolio.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;images&lt;/code&gt; are the images you want to attach to the portfolio and have the same value as the post’s. Images are rendered in the order they were added to the array.&lt;/li&gt;
&lt;li&gt;Portfolios are sorted based on the data. Give a bigger value to the portfolio to show first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Portfolios will be shown one the portfolio page. and if there are more than 4, they will be shown on the home page.&lt;/p&gt;

&lt;p&gt;(You can see it in &lt;strong&gt;src/components/Home&lt;/strong&gt; and modify how it is rendered.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Add resume
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;---
type: "resume"
title: "Resume"
date: "2000-01-01T00:00:00.000Z"
path: "/resume/"
---

## Experience
- Engineer at OOO ∙ 2000. 01 ~ Present
  - Develop something
  - Maintain something

## Education
- B.S. in Computer Science Engineering at OOO
  - 2000. 01 ~ 2000. 01

## Projects
- Gatsby Advanced Blog (https://github.com/wonism/gatsby-advanced-blog) ∙ 2000. 01 ~ Present
  - Integrate Redux
    - Use Redux, Redux Saga, Reselect...

## Skills
- JavaScript
  - ES2015+
  - ReactJS
  - Lodash
- CSS
  - SASS
  - Less
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;path is a &lt;strong&gt;required&lt;/strong&gt; attribute to create a page. It must be unique.&lt;/li&gt;
&lt;li&gt;type is a value that allows you to specify the format of the page, in this case it should be &lt;code&gt;portfolio&lt;/code&gt;.
## Other features&lt;/li&gt;
&lt;li&gt;On the right side of the GNB, you can search posts by title, summary, tag, category, etc. of the post.&lt;/li&gt;
&lt;li&gt;When you add codes in markdown, a button will be created automatically. If user clicks the button, user can copy the codes.
## Deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can build the application with npm run build.Then you can distribute it where you want. You can see this article on this &lt;a href="https://dev.to/naveenjujaray/free-hosting-sites-with-instructions-29e9-temp-slug-6554260"&gt;link&lt;/a&gt;.&lt;/p&gt;

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