<?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: Hrithik Bansal</title>
    <description>The latest articles on DEV Community by Hrithik Bansal (@hrithikbansal).</description>
    <link>https://dev.to/hrithikbansal</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%2F1006995%2F274bc660-1f41-4b5f-b9e9-a28ce2e7f75e.jpg</url>
      <title>DEV Community: Hrithik Bansal</title>
      <link>https://dev.to/hrithikbansal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hrithikbansal"/>
    <language>en</language>
    <item>
      <title>How to push MERN/MEAN projects to GitHub?</title>
      <dc:creator>Hrithik Bansal</dc:creator>
      <pubDate>Sat, 04 Feb 2023 14:39:03 +0000</pubDate>
      <link>https://dev.to/hrithikbansal/how-to-push-mernmean-projects-to-github-30i3</link>
      <guid>https://dev.to/hrithikbansal/how-to-push-mernmean-projects-to-github-30i3</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%2Flq437a886nh2suvojjn7.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%2Flq437a886nh2suvojjn7.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  To push a new project to GitHub repository, follow these steps:
&lt;/h2&gt;

&lt;p&gt;You need to understand that you're not supposed to commit all files to GitHub. So, you need to ignore unnecessary files. For example, in React projects, you can totally ignore "&lt;strong&gt;node_modules&lt;/strong&gt;" folder which contains all the files you installed as dependencies because it is super heavy and unnecessary. The reason is that all the dependencies are specified in "package.json" file which means that when you or someone else download that project in future, you can reinstall all the dependencies locally on your machine without polluting GitHub using &lt;code&gt;npm install&lt;/code&gt; command. To ignore unnecessary files and folders, create a file named "&lt;strong&gt;.gitignore&lt;/strong&gt;" in the root of your project. In the context of React application, you can include "node_modules" inside that file. Of course, there is more to this (such as hiding API keys and sensitive information), but for starters ignoring "node_modules" is pretty sufficient. &lt;/p&gt;

&lt;p&gt;1: Perform a &lt;code&gt;git init&lt;/code&gt; command in the root folder of the existing project.&lt;/p&gt;

&lt;p&gt;2: Use &lt;code&gt;git status&lt;/code&gt; command to displays the state of the working directory and the staging area.&lt;/p&gt;

&lt;p&gt;3: Create a .gitignore file &lt;code&gt;touch .gitignore&lt;/code&gt; that specifies intentionally untracked files like node_modules that Git should ignore.&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%2Fq21jnuniyvk56bvd2k7c.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%2Fq21jnuniyvk56bvd2k7c.png" alt="Image description" width="800" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4: Add your files to staging area (a queue where your files "chill" before you decide to actually push it to GitHub).&lt;br&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;5: Now, commit the files to your local repository. Write a meaningful message in quotation marks. Then, put the terminal aside (don't close it) and open your browser.&lt;br&gt;
&lt;code&gt;git commit -m "This is my initial commit."&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;6: To push a project to GitHub, you must first create a GitHub repository. To do this, simply click the green “Create repository” button in GitHub’s online console and provide a repository name.&lt;/p&gt;

&lt;p&gt;For this example, we will name the repository &lt;em&gt;DEMO&lt;/em&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%2Fsftqvr306qx4dz1xl9gb.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%2Fsftqvr306qx4dz1xl9gb.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7: To allow your existing project to synchronize with GitHub, issue a git remote add command to configure a reference from you local Git installation to the repository on GitHub.&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%2F1mopb60sjc63hjrq2ry2.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%2F1mopb60sjc63hjrq2ry2.png" alt="Image description" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8: Remember the terminal that you left aside? Paste the first line from GitHub under "…or push an existing repository from the command line".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin https://github.com/yourgithubusername/REPOSITORYNAME.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;9: &lt;code&gt;git branch -M main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;10: Push the first commit to GitHub&lt;br&gt;
&lt;code&gt;git push -u origin main&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify the GitHub push
&lt;/h2&gt;

&lt;p&gt;To verify that the existing project was pushed to GitHub successfully, log into the GitHub website and browse the repository. All of the files from your existing project should be visible on GitHub’s.&lt;/p&gt;

&lt;p&gt;And that’s how easy it is to push an existing project to a GitHub repository.&lt;/p&gt;

</description>
      <category>devto</category>
      <category>announcement</category>
      <category>royalties</category>
      <category>career</category>
    </item>
    <item>
      <title>HOW TO BECOME A GREAT FRONTEND DEVELOPER?</title>
      <dc:creator>Hrithik Bansal</dc:creator>
      <pubDate>Sat, 14 Jan 2023 13:52:56 +0000</pubDate>
      <link>https://dev.to/hrithikbansal/how-to-become-a-great-frontend-developer-1pjo</link>
      <guid>https://dev.to/hrithikbansal/how-to-become-a-great-frontend-developer-1pjo</guid>
      <description>&lt;p&gt;Before starting learning about development we should understand what are the main components or skills needed to be a good developer. We know the front end is what we see on our browser or application screen and there are many technologies available to do that. The first thing that comes on the path is learning programming or scripting language that tells computers what to do and how to do.&lt;/p&gt;

&lt;p&gt;In our case, we want to be a front-end developer. Then there are many ways of building a frontend of any website or application. Let's see step by step what they are -&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn the Basics - HTML&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Learning HTML is our first step in the journey of becoming a front-end developer. In simple words, this defines the skeleton of the website.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Learn Basics of HTML&lt;/li&gt;
&lt;li&gt;Understand the Structure and Tags&lt;/li&gt;
&lt;li&gt;Learn about Forms&lt;/li&gt;
&lt;li&gt;Semantic HTML&lt;/li&gt;
&lt;li&gt;SEO (Search Engine Optimization)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Learn the Basics - CSS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After learning HTML the next step is learning CSS ( Cascading Style Sheets ). This will beautify the skeleton of the website which we have designed using HTML. I am sharing some important topics to learn -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FlexBox&lt;/li&gt;
&lt;li&gt;Grid&lt;/li&gt;
&lt;li&gt;Media Queries&lt;/li&gt;
&lt;li&gt;Pseudo Elements&lt;/li&gt;
&lt;li&gt;Pseudo Classes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Learn the Basics - JavaScript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now you can build basic or static websites. To add functionality that we will learn JavaScript. If you want to be a good front-end developer this language will be your good friend. Since I started working in javaScript I fall in love with it. It has a lot to learn but here are a few important topics with which you can start jour journey -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn Basic Syntax&lt;/li&gt;
&lt;li&gt;DOM Manipulation&lt;/li&gt;
&lt;li&gt;Fetch API / Ajax&lt;/li&gt;
&lt;li&gt;Async Await&lt;/li&gt;
&lt;li&gt;Event Listeners&lt;/li&gt;
&lt;li&gt;ES6+ JavaScript&lt;/li&gt;
&lt;li&gt;Promises&lt;/li&gt;
&lt;li&gt;Classes&lt;/li&gt;
&lt;li&gt;Array Methods&lt;/li&gt;
&lt;li&gt;Scoping&lt;/li&gt;
&lt;li&gt;Hoisting&lt;/li&gt;
&lt;li&gt;Closures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hurry !! you have became a front-end developer and you can build amazing websites using the skills you have learned so far.&lt;/p&gt;

&lt;p&gt;Now you can stop your journey here or you can continue learning some amazing stuff that will improve your development. I am sharing the steps you can follow if you want to continue your journey toward learning more advanced tech skills.&lt;/p&gt;

&lt;p&gt;Learn any CSS Framework&lt;/p&gt;

&lt;p&gt;CSS is enough for styling but if you want to make your development fast then you can use the CSS frameworks -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;Tailwind&lt;/li&gt;
&lt;li&gt;Materialize&lt;/li&gt;
&lt;li&gt;Bulma&lt;/li&gt;
&lt;li&gt;Semantic UI&lt;/li&gt;
&lt;li&gt;Foundation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn any CSS Preprocessor mostly SASS and SCSS&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SASS / SCSS&lt;/li&gt;
&lt;li&gt;Postcss&lt;/li&gt;
&lt;li&gt;Less&lt;/li&gt;
&lt;li&gt;Stylus&lt;/li&gt;
&lt;li&gt;Stylecow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you are good with styling libraries or frameworks. Before moving forward in our learning journey learn some additional stuff that will improve your development skills and will save you a lot of time during development.&lt;/p&gt;

&lt;p&gt;Learn basic usage of Version Control System&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;GitHub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pick a JavaScript Framework / Library&lt;/p&gt;

&lt;p&gt;The most popular ones:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vue&lt;/li&gt;
&lt;li&gt;Angular&lt;/li&gt;
&lt;li&gt;Svelte&lt;/li&gt;
&lt;li&gt;Meteor&lt;/li&gt;
&lt;li&gt;Remix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basic things to learn in React&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Components&lt;/li&gt;
&lt;li&gt;Vue&lt;/li&gt;
&lt;li&gt;JSX&lt;/li&gt;
&lt;li&gt;State&lt;/li&gt;
&lt;li&gt;Events&lt;/li&gt;
&lt;li&gt;Conditional Rendering&lt;/li&gt;
&lt;li&gt;useState&lt;/li&gt;
&lt;li&gt;useEffect&lt;/li&gt;
&lt;li&gt;useRef&lt;/li&gt;
&lt;li&gt;useContext&lt;/li&gt;
&lt;li&gt;useReducer&lt;/li&gt;
&lt;li&gt;useMemo&lt;/li&gt;
&lt;li&gt;useCallback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn some of the React UI Frameworks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Material UI&lt;/li&gt;
&lt;li&gt;Ant Design&lt;/li&gt;
&lt;li&gt;Chakra UI&lt;/li&gt;
&lt;li&gt;React Bootstrap&lt;/li&gt;
&lt;li&gt;Rebass&lt;/li&gt;
&lt;li&gt;Blueprint&lt;/li&gt;
&lt;li&gt;Semantic UI React&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn to use popular React packages&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React Router&lt;/li&gt;
&lt;li&gt;React Query&lt;/li&gt;
&lt;li&gt;Axios&lt;/li&gt;
&lt;li&gt;React Hook Form&lt;/li&gt;
&lt;li&gt;Styled Components&lt;/li&gt;
&lt;li&gt;Storybook&lt;/li&gt;
&lt;li&gt;Framer Motion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn how to manage state in React with state management tools&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Redux&lt;/li&gt;
&lt;li&gt;MobX&lt;/li&gt;
&lt;li&gt;Hookstate&lt;/li&gt;
&lt;li&gt;Recoil&lt;/li&gt;
&lt;li&gt;Akita&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Things to learn after learning React&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next JS&lt;/li&gt;
&lt;li&gt;Gatsby&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;React Native&lt;/li&gt;
&lt;li&gt;Electron&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Important things to learn in Next JS&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static Site Generation&lt;/li&gt;
&lt;li&gt;Server Side Rendering&lt;/li&gt;
&lt;li&gt;Incremental Static Regeneration&lt;/li&gt;
&lt;li&gt;Dynamic Pages&lt;/li&gt;
&lt;li&gt;CSS / SASS Modules&lt;/li&gt;
&lt;li&gt;Lazy loading Modules&lt;/li&gt;
&lt;li&gt;API Routes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn to test your apps with some of these libraries/frameworks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jest&lt;/li&gt;
&lt;li&gt;Testing Library&lt;/li&gt;
&lt;li&gt;Cypress&lt;/li&gt;
&lt;li&gt;Enzyme&lt;/li&gt;
&lt;li&gt;Jasmine&lt;/li&gt;
&lt;li&gt;Mocha&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learn to deploy your websites&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Netlify&lt;/li&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;GitHub Pages&lt;/li&gt;
&lt;li&gt;Heroku&lt;/li&gt;
&lt;li&gt;Render&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other important topics you should know&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PWA&lt;/li&gt;
&lt;li&gt;Web Sockets&lt;/li&gt;
&lt;li&gt;CORS&lt;/li&gt;
&lt;li&gt;JSON&lt;/li&gt;
&lt;li&gt;RESTful APIs&lt;/li&gt;
&lt;li&gt;GraphQL APIs&lt;/li&gt;
&lt;li&gt;Basic Security&lt;/li&gt;
&lt;li&gt;Web Accessibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some tools to help lint and format code&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ES Lint&lt;/li&gt;
&lt;li&gt;Standard&lt;/li&gt;
&lt;li&gt;Prettier&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Optional Things to learn&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Webpack&lt;/li&gt;
&lt;li&gt;Parcel&lt;/li&gt;
&lt;li&gt;SnowPack&lt;/li&gt;
&lt;li&gt;Rollup.js&lt;/li&gt;
&lt;li&gt;Gulp&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Project Ideas&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;E-commerce Website&lt;/li&gt;
&lt;li&gt;Personal Blog App&lt;/li&gt;
&lt;li&gt;Portfolio App&lt;/li&gt;
&lt;li&gt;Business Website&lt;/li&gt;
&lt;li&gt;Google Clone&lt;/li&gt;
&lt;li&gt;Amazon Clone&lt;/li&gt;
&lt;li&gt;Netflix Clone&lt;/li&gt;
&lt;li&gt;Youtube Clone&lt;/li&gt;
&lt;li&gt;Google Drive Clone&lt;/li&gt;
&lt;li&gt;Food Delivery App&lt;/li&gt;
&lt;li&gt;Whatsapp Clone&lt;/li&gt;
&lt;li&gt;Facebook Clone&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
