<?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: Lokesh</title>
    <description>The latest articles on DEV Community by Lokesh (@devlcodes).</description>
    <link>https://dev.to/devlcodes</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%2F462757%2F3a7e2b5f-720c-491e-ae85-b4df99bd350a.jpg</url>
      <title>DEV Community: Lokesh</title>
      <link>https://dev.to/devlcodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devlcodes"/>
    <language>en</language>
    <item>
      <title>How to make a Job Switch in IT( For Newbies)</title>
      <dc:creator>Lokesh</dc:creator>
      <pubDate>Thu, 08 Jul 2021 08:49:35 +0000</pubDate>
      <link>https://dev.to/devlcodes/how-to-make-a-job-switch-in-it-for-newbies-p60</link>
      <guid>https://dev.to/devlcodes/how-to-make-a-job-switch-in-it-for-newbies-p60</guid>
      <description>&lt;p&gt;Hi, I'm Lokesh, a Full Stack Developer with over two years of experience. The tech stack I specialize in are Java, Javascript, SQL, REST API and React.js. In this post, I will be detailing my personal experience with job migration. This post will help you effortlessly sail through the processes of creating effective resumes up to salary negotiation. The details or information that I've shared are purely based on my observation and will be best suited for entry-level developers looking for new opportunities.&lt;/p&gt;

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

&lt;p&gt;As entry-level developers working in an established company, many of us don't get hands-on experience during product development. I faced this issue while working in my previous company, so I decided it was time to venture into a new environment.&lt;/p&gt;

&lt;p&gt;My day to day work looked like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Perform unit testing of the newly developed features by senior developers. &lt;/li&gt;
&lt;li&gt;Write automation test cases. &lt;/li&gt;
&lt;li&gt;Documenting the features to be implemented. &lt;/li&gt;
&lt;li&gt;Maintain and fix issues in already existing features.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Performing the above tasks allowed me to have a better understanding of the product. However, after a certain period, I found myself doing nothing but this, leaving me stranded with no room for growth. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F6m0peu4xez8plg515xgc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F6m0peu4xez8plg515xgc.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
If you find yourself doing dull and monotonous assigned tasks for a considerable period, it's time to rethink your employment with that company. Ultimately, it is your job to ensure that you learn about new technology and to make certain that you're on par with the market requirement.&lt;/p&gt;

&lt;p&gt;There are two factors to consider before switching a job&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Job satisfaction&lt;/li&gt;
&lt;li&gt;Salary&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Having both is &lt;strong&gt;Great&lt;/strong&gt;&lt;br&gt;
Having either one is &lt;strong&gt;Good&lt;/strong&gt;&lt;br&gt;
Not having both is when you have to make a decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to prepare and apply?
&lt;/h2&gt;

&lt;p&gt;The "How?" part is the most challenging task. It nearly took me a year to figure this out on my own since there is no general template for preparing for software development interviews. After a tremendous amount of time and effort, I was able to simplify and list out the various steps required to prepare for the switch:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Have a proper Resume and LinkedIn profile.
&lt;/h3&gt;

&lt;p&gt;Before preparing for an interview, create a legitimate resume and a LinkedIn profile. Having an engaging LinkedIn profile is essential for a Software Developer regardless of your employment status. The resume you submit should be realistic and descriptive, detailing your skills and experience. Add only the skills which are your strong suits and come under your forte of specialization. For example: If you only know how to create a button in React.js don't add it to your profile. The interviewer will expect you to have a piece of working knowledge in your mentioned skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Devise a proper time plan for switching
&lt;/h3&gt;

&lt;p&gt;Most of us working in IT may not have satisfying jobs. The job which was interesting last year might have gotten worse this year. Maybe you had a clash with your team. Everyone has their reasons, but once you have identified them, you will need a change. I suggest you do it straight away. Delaying it due to procrastination or any other personal reasons will affect your peace of mind and your career in the long term. Find at least 1-2 hours a day for your preparation.&lt;/p&gt;

&lt;p&gt;A typical job switch in IT should be done within a maximum of 3 months. If you are taking more time than this, you are never gonna switch your job. I've given the sample plan which I used during my preparation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fsu9kovwdz50rx1g1v3b8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fsu9kovwdz50rx1g1v3b8.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Plan your syllabus and practice
&lt;/h3&gt;

&lt;p&gt;The requirement for a Full Stack Developer with 2 years of experience in the market is&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Basic Problem Solving&lt;/li&gt;
&lt;li&gt;Data Structures

&lt;ul&gt;
&lt;li&gt;String &amp;amp; Arrays&lt;/li&gt;
&lt;li&gt;Linked Lists&lt;/li&gt;
&lt;li&gt;Stack &lt;/li&gt;
&lt;li&gt;Queue&lt;/li&gt;
&lt;li&gt;Tree ( BT &amp;amp; BST )&lt;/li&gt;
&lt;li&gt;Graph ( DFS &amp;amp; BFS )&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Algorithms 

&lt;ul&gt;
&lt;li&gt;Greedy algorithms&lt;/li&gt;
&lt;li&gt;BackTracking algorithms&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Basic Knowledge on 

&lt;ul&gt;
&lt;li&gt;System Designs &amp;amp; Design Pattern&lt;/li&gt;
&lt;li&gt;Computer Networks&lt;/li&gt;
&lt;li&gt;Operating Systems&lt;/li&gt;
&lt;li&gt;DBMS &amp;amp; Database Modelling&lt;/li&gt;
&lt;li&gt;REST API&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To identify the skills required according to your field of expertise and experience &lt;strong&gt;check the job description listed in the portals&lt;/strong&gt; and make a consolidated list of most repetitive skills in the descriptions and frame your syllabus accordingly.&lt;/p&gt;

&lt;p&gt;Once you have framed the syllabus it is essential to stick to the plan and spend at least 2 hours per day preparing. While preparing for a job interview your work efficiency will most probably be affected. It is better not to worry about it during this time but also don't let the preparation completely spoil your work.&lt;/p&gt;

&lt;p&gt;Some of the best coding preparation sites I used&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.interviewbit.com/" rel="noopener noreferrer"&gt;InterviewBit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeksforgeeks.org/" rel="noopener noreferrer"&gt;GeeksforGeeks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://leetcode.com/" rel="noopener noreferrer"&gt;Leetcode&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After learning the concepts try to attend mock interviews, where peers interview each other on various topics. Use the below-listed sites for free mock interview sessions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.pramp.com/#/" rel="noopener noreferrer"&gt;Pramp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.interviewbit.com/" rel="noopener noreferrer"&gt;InterviewBit&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  3. Applying for companies
&lt;/h2&gt;

&lt;p&gt;In the last image, you will notice that I've mentioned applying for companies in which you may not desire to work. Yes, you cannot always clear the first interview you are trying. Most MNC's have policies that restrict you from attending multiple interviews within 3 - 6 months. So instead of spending your attempts on dream companies, do trial runs with all the other companies.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to identify a good company?
&lt;/h3&gt;

&lt;p&gt;I generally classified the companies which I applied like this &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fj517zejcsf8dc1ibyuxg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fj517zejcsf8dc1ibyuxg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the review of the companies in websites like Glassdoor, LinkedIn and if it is a startup you can find their fundings in sites like TechCrunch and AngelList   &lt;/p&gt;

&lt;h3&gt;
  
  
  Where to apply?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://www.linkedin.com/feed/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; : 
 Getting an interview call after applying in the LinkedIn Jobs portal is nearly impossible. Since a lot of people apply on LinkedIn, It is very unlikely to get your profile shortlisted. The best way to find jobs through LinkedIn is by networking and making connections with HRs and Product Managers who post Job openings in their team. There is a better chance that you could get your profile shortlisted in this way.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Request your connections to refer you for a role in that company. While seeking help, be polite, find the job posting on the respective company's careers site and attach the Job ID and Resume with a personal note.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.naukri.com/" rel="noopener noreferrer"&gt;Naukri&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instahyre.com/" rel="noopener noreferrer"&gt;Instahyre&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cutshort.io" rel="noopener noreferrer"&gt;Cutshort&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Create a profile on these sites with appropriate details. These are some of the best sites which helped me during the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to negotiate salary?
&lt;/h2&gt;

&lt;p&gt;As a fresher, we wouldn't have negotiated our salary compensation for our first job because it is fixed in most of the companies. Since it is our first negotiation it might be tricky. The main points to remember while negotiating salary are &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Most skilled HR's won't mention the numbers on their minds upfront. If HR was willing to offer you 15LPA,  you don't want to turn out asking for just 12LPA. So, explain your skills and experience, let HR know what kind of assets you will be bringing to the company's table, and try to get the numbers from them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So if HR is keen on getting you to mention the number,  make sure to check beforehand websites like Glassdoor and Payscale to find the packages offered to their employees, or if you have a friend in the company you are applying to, get the details from them. In my observation, the standard hike while switching a company should be a minimum of 30% and occasionally based on your performance, it can go up to 120%.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Counter Offer&lt;/strong&gt;: If your current CTC is X LPA and you have an offer in hand from Company A for Y LPA(30% from X). Now If Company B is offering you a job you can demand 30% from Y.&lt;/p&gt;

&lt;p&gt;Current CTC: &lt;strong&gt;10LPA(X)&lt;/strong&gt;&lt;br&gt;
Offer from Company A: &lt;strong&gt;13LPA(Y)&lt;/strong&gt;&lt;br&gt;
Leveraged Offer from Company B: &lt;strong&gt;16.9LPA&lt;/strong&gt; ( More than 60% hike from your Current CTC)&lt;/p&gt;

&lt;p&gt;There are only a limited number of job switches that we make in our entire career, reaching these pay scale working in the same company takes a long time to achieve, so try to make every job switch count. I did not know such a concept existed until I attended interviews for numerous companies. So, if you are planning to make your first switch, do not lose sight of all these points.All the best!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fg0vopa9y9nph1w9a2gri.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fg0vopa9y9nph1w9a2gri.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please feel free to contact me for any queries related to creating resume or switching jobs on LinkedIn : &lt;a href="https://www.linkedin.com/in/lokeshkumar08/" rel="noopener noreferrer"&gt;Lokesh Kumar&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>startup</category>
      <category>java</category>
    </item>
    <item>
      <title>File Structure of a Node Project</title>
      <dc:creator>Lokesh</dc:creator>
      <pubDate>Mon, 21 Sep 2020 14:10:34 +0000</pubDate>
      <link>https://dev.to/devlcodes/file-structure-of-a-node-project-3opk</link>
      <guid>https://dev.to/devlcodes/file-structure-of-a-node-project-3opk</guid>
      <description>&lt;p&gt;In this article I am going to share the details about the structure of a Node project which could be maintained during the development for easier identification and better understanding.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2f342bat9knd74ox7h52.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2f342bat9knd74ox7h52.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  1. package.json
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "name": "node",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node src/index.js",
    "test": "echo \"Error: no test specified\" &amp;amp;&amp;amp; exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;&lt;p&gt;package.json is a mandatory file present in the root directory of the project&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;package.json holds all the metadata and dependencies required for a project. It can be created by running the following command in the root directory&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; npm init -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;-y specifies do not ask me any question simply create the file.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you can specify the script which should be executed for starting the node project in scripts -&amp;gt; start and for stopping in scripts -&amp;gt; stop
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"scripts": {
    "start": "node src/index.js",
    "test": "echo \"Error: no test specified\" &amp;amp;&amp;amp; exit 1"
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;and simply start and stop the node project using&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm start
npm stop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To install all the required node dependancies in package.json
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If &lt;strong&gt;Error: EACCES: permission denied&lt;/strong&gt; error occurs&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo npm install -g --unsafe-perm=true --allow-root
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  2. .env
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;.env file contains all the environment variables required for a project
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;APP_NAME = node-project
NODE_ENV = development
PORT = 3003
JWT_SECRET = '$2a$0sdfwewewerbN2Jf2UcG'
JWT_KEY = 'ewrwetiLCJjb21wYW55IjoiQWlyN3NlYXMtwetPpcuKZCtFE4k'
LOCAL_DB_URI = mongodb://localhost:27017/db_api
SERVER_DB_URI = mongodb+srv://cezDbAdmin:cezDbAsdd@development-we.gcp.mongodb.net(opens in new tab)/cdez?retryWrites=true&amp;amp;w=majority

CONTACT_API_HOOK = http://api.node-app.dev/contactserver/api/v1
CONTACT_API_HOOK1 = http://127.0.0.1:3003/contactserver/api/v1

ALERT_MAIL = 'noreply@gmail.com(opens in new tab)'
FIREBASE_REDIRECT_URL='http://localhost:8080/dashboard'

MAIL_API_HOOK = http://api.node-project.dev/mailserver/api/v1
ALERT_MAIL='Node project &amp;lt;alerts@node-project.com&amp;gt;'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  3. server.js
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;server.js is the file which will be executed first in a node project. If you are using mongoDB the promise for the DB connection should be established here.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export const start = () =&amp;gt; {
  init()
    .then(app =&amp;gt; {
      app.listen(port, () =&amp;gt; {
        let server =
          (env === "secure" ? "https://" : "http://") + host + ":" + port;
        console.log(
          chalk.green("Development server started on " + server)
        );
      });
    })
    .catch(err =&amp;gt; {
      console.error(err);
    });
};

module.exports = start();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  4. .gitignore
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;git ignore file should contain the list of files that should not be committed in a git push.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/node_modules
/public/hot
/public/storage
/storage/*.key
/.idea
/.vagrant
/.vscode
npm-debug.log
yarn-error.log
.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  5. index.js
&lt;/h1&gt;

&lt;p&gt;index.js is most likely the entry point for requiring a module. In Node.js, Node itself is the web server so you don't need to name anything index.js but it's easier for people to understand which file to run first.&lt;/p&gt;

&lt;p&gt;index.js typically handles your app startup, routing and other functions of your application and does require other modules to add functionality. If you're running a website or web app it would also handle become a basic HTTP web server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let express = require('express')
let app = express()

let personRoute = require('./routes/person')
app.use(personRoute)
app.use(express.static('public'))

const PORT  = process.env.PORT || 3050
app.listen(PORT,()=&amp;gt; console.info(`Server has started on ${PORT}`))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  6. app
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;The app folder should contain all the files of the project in an orderly format. The files should be organised into folders such as

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Routers&lt;/strong&gt; : Which contains all the files related to routing Ex: AuthRouter.js
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Router from "koa-router";
import RoleController from "../controllers/RoleController";
import Authentication from "../Process/Authentication"

const router = new Router();

router.prefix("/iamserver/api/v1");
router
.use(Authentication.authorize)
.post("/roles", RoleController.create)
.put("/roles/:role", RoleController.update)
.delete("/roles/:role", RoleController.destroy)
export default router;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Controllers&lt;/strong&gt; : should receive all the routing from routers Ex: RoleController.js
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"use strict";
import Controller from "../../Controller";
import Company from "../models/Company"

class RoleController extends Controller {

        async getCompanies(ctx){
            try {                
                ctx.body = await Company.allCompanies()
            }
            catch (err) {
                ctx.throw(err)
            } 
        } 
    }

    export default new RoleController();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Models&lt;/strong&gt; : Files in this folder should contain the entity related operation such as accessing DB, processing based on business logic. Ex : Company.js
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import CompanySchema from "../../database/schema/CompanySchema";

class Company extends Database {
    constructor() {
        super(CompanySchema);
    }
    async allCompanies(){
        return  this.model.find().populate('users')
    }
}

export default new Company();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>node</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Configuring VSCode with GitHub</title>
      <dc:creator>Lokesh</dc:creator>
      <pubDate>Wed, 09 Sep 2020 17:50:32 +0000</pubDate>
      <link>https://dev.to/devlcodes/configuring-vscode-with-github-jc4</link>
      <guid>https://dev.to/devlcodes/configuring-vscode-with-github-jc4</guid>
      <description>&lt;h2&gt;
  
  
  1. Install git scm to your machine
&lt;/h2&gt;



&lt;p&gt;&lt;code&gt;sudo apt install git-all&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Create a new GitHub repository
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A8Y3xjw2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hw9yonvu3sn34rby1atv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A8Y3xjw2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hw9yonvu3sn34rby1atv.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Ensure git is enabled in your VSCode settings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GOf5oVaF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2g5lhx0g434x1fa8jdh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GOf5oVaF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q2g5lhx0g434x1fa8jdh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Add a Remote
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;CTRL+SHIFT+P &amp;gt; Add Remote &lt;/li&gt;
&lt;li&gt;Paste your GitHub repo url ex: &lt;a href="https://github.com/DevLCodes/acrux-pharma-site.git"&gt;https://github.com/DevLCodes/acrux-pharma-site.git&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Add a remote name &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Pull all the initial changes
&lt;/h2&gt;

&lt;p&gt;First commit the changes present in your local system and run&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;git pull &amp;lt;repo-name&amp;gt; master --allow-unrelated-histories&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Commit all your changes to GitHub
&lt;/h2&gt;

&lt;p&gt;Stage the changes that you want to commit , commit and push to the remote to which you want to add your changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clone a GitHub Repository
&lt;/h3&gt;



&lt;p&gt;&lt;code&gt;git clone &amp;lt;repo-url&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Uninstall git from Ubuntu
&lt;/h3&gt;



&lt;p&gt;&lt;code&gt;sudo apt-get remove git&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>github</category>
      <category>git</category>
    </item>
  </channel>
</rss>
