<?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: usmanmehmood-12</title>
    <description>The latest articles on DEV Community by usmanmehmood-12 (@usmanmehmood12).</description>
    <link>https://dev.to/usmanmehmood12</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%2F896730%2Fb4a00830-a6ba-478c-863d-b8738ff03940.JPG</url>
      <title>DEV Community: usmanmehmood-12</title>
      <link>https://dev.to/usmanmehmood12</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/usmanmehmood12"/>
    <language>en</language>
    <item>
      <title>How to Deploy a NestJS Application with AWS Elastic Beanstalk and CodePipeline</title>
      <dc:creator>usmanmehmood-12</dc:creator>
      <pubDate>Sat, 10 Dec 2022 20:42:48 +0000</pubDate>
      <link>https://dev.to/usmanmehmood12/how-to-deploy-a-nestjs-application-with-aws-elastic-beanstalk-and-codepipeline-3eli</link>
      <guid>https://dev.to/usmanmehmood12/how-to-deploy-a-nestjs-application-with-aws-elastic-beanstalk-and-codepipeline-3eli</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://medium.com/@usmanmehmood12/how-to-deploy-a-nestjs-application-with-aws-elastic-beanstalk-and-codepipeline-82aa98dcc48"&gt;Medium&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A step-by-step guide to deploy a nest application using AWS Elastic Beanstalk and CodePipeline&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Elastic Beanstalk and CodePipeline are two great services offered by AWS that &lt;strong&gt;allow you to quickly get up and running with your application&lt;/strong&gt; on the cloud in a &lt;strong&gt;continuous delivery environment.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is AWS Elastic Beanstalk?
&lt;/h2&gt;

&lt;p&gt;EB is an &lt;strong&gt;orchestration service&lt;/strong&gt; offered by AWS for &lt;strong&gt;deploying applications&lt;/strong&gt;. Developers have to just focus on writing code for their application rather than spending time on managing and configuring servers, databases, firewalls, and networks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is AWS CodePipeline?
&lt;/h2&gt;

&lt;p&gt;AWS CodePipeline is a &lt;strong&gt;continuous delivery service that enables you to model, visualize, and automate the steps required to release your software.&lt;/strong&gt; CodePipeline &lt;strong&gt;automates&lt;/strong&gt; the steps required to release your software changes continuously.&lt;/p&gt;

&lt;p&gt;Lets get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a new nest project
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Run the following command in the VS Code CLI to create a nest project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nest new project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ixib2Irp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sug2syf0vc2dt6zbabjp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ixib2Irp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sug2syf0vc2dt6zbabjp.png" alt="Create a Nest Project" width="880" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Select the package manager you would like to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n0cFo0ME--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bntyloe78lwcihzjpg37.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n0cFo0ME--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bntyloe78lwcihzjpg37.png" alt="Select the Package Manager" width="880" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should get a project directory with files and folders looking like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_eA5zBga--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3g9d3p79plmuz758je0q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_eA5zBga--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3g9d3p79plmuz758je0q.png" alt="Nest Project Directory" width="880" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Configure your nest app for deployment
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a &lt;em&gt;Procfile&lt;/em&gt; in the root of your project and add the following lines. Procfile tells Elastic Beanstalk to run the commands defined here.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;web: npm run deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Now you need to &lt;strong&gt;add the deploy script&lt;/strong&gt; to the package.json file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"deploy": "npm install &amp;amp;&amp;amp; npm run build &amp;amp;&amp;amp; npm run start:dev"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Add port env variable&lt;/strong&gt; to make sure your app can listen to a port environment variable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(process.env.PORT || 3000);
}
bootstrap();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Create a new repository on GitHub and push your nest application code. Later on we will use it to configure the AWS CodePipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a new EB environment and application.
&lt;/h2&gt;

&lt;p&gt;Now since our application is ready and pushed to GitHub, logically the next step would be to deploy it to EB. To do this, we first need to create an EB environment and deploy a default application to see if its successful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Open the AWS console, select Elastic Beanstalk and Click on create application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; In the application name write the name of the application that you would like to give it. In my case it is nest-eb-instance&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3fgcaIrU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bosv6b5bysp5jifongqe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3fgcaIrU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bosv6b5bysp5jifongqe.png" alt="Application Name" width="880" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; Choose Node.js as the platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Now we have the sample application selected. The sample application allows you to check if your EB instance has been successfully deployed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fwc3nOXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vp8balvttvr98p1o7a8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fwc3nOXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vp8balvttvr98p1o7a8.png" alt="Platform Name and Other Settings" width="880" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; Next click on Create Application and wait a few minutes while it gets created.&lt;/p&gt;

&lt;p&gt;Voila! Now you should be able to see the running environment and its health.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--itAA4JTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mcex41cbptcw3cculkmk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--itAA4JTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mcex41cbptcw3cculkmk.png" alt="Elastic Beanstalk Environments" width="880" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the environment name and then on the EB instance URL to see your sample application running.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1XfWAx8_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lbsn4kd41exwake993v5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1XfWAx8_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lbsn4kd41exwake993v5.png" alt="Sample Application" width="880" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should see your sample application running on the EB instance as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HwyFc5hN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ok0m42xvmw622l6upfzt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HwyFc5hN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ok0m42xvmw622l6upfzt.png" alt="Sample Running Application" width="880" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Create the CodePipeline and connect it with the EB instance
&lt;/h2&gt;

&lt;p&gt;Now the last step is to create a CodePipeline, so that every time we make a change in our application and push the code to our GitHub repository, it automatically updates the EB instance with our new changes and updates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; For that we need to go to the AWS Codepipeline and click on Create Pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; In the pipeline settings, &lt;strong&gt;give your pipeline a name&lt;/strong&gt; and simply click Next. In my case it is &lt;em&gt;nestAWSPipeline&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ipLZfkzo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c7baoux1498tefb2ziyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ipLZfkzo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c7baoux1498tefb2ziyw.png" alt="Pipeline Settings" width="880" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; In the add source stage select &lt;strong&gt;GitHub (Version 1) or GitHub (Version 2)&lt;/strong&gt; as a source provider, whichever suits you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hh8ZtPgK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/koxtab4z2qvv0xt7vjmt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hh8ZtPgK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/koxtab4z2qvv0xt7vjmt.png" alt="Select Source Provider &amp;amp; Connect GitHub" width="880" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Now click on Connect GitHub to &lt;strong&gt;Grant AWS CodePipeline the access&lt;/strong&gt; to your GitHub repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; Once GitHub is connected, &lt;strong&gt;Select the repository and the branch&lt;/strong&gt; and then click next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--peKGJGQK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6y2f5jaxsx4v9liu3f7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--peKGJGQK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6y2f5jaxsx4v9liu3f7.png" alt="Select Repository &amp;amp; Branch" width="880" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; In the Add Build stage click on &lt;strong&gt;Skip build stage&lt;/strong&gt; as we do not have a build stage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--58LIFMr9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n44k0l7l8ovml6zzo648.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--58LIFMr9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n44k0l7l8ovml6zzo648.png" alt="Build Stage" width="880" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt; In the deploy provider we now select the AWS Elastic Beanstalk and &lt;strong&gt;choose the application and environment name we just created.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8.&lt;/strong&gt; Click Next and then after reviewing all the settings you just defined, click on create pipeline.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A7g6vezr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gtfwz7zf1zajxk5fy0bl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A7g6vezr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gtfwz7zf1zajxk5fy0bl.png" alt="Deploy Stage" width="880" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Afterwards, &lt;strong&gt;your pipeline nestAWSPipeline should be created.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zza49GHz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tn1g4mvlpp06x0fi0irn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zza49GHz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tn1g4mvlpp06x0fi0irn.png" alt="Pipeline Created" width="880" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After a few minutes, &lt;strong&gt;your code from GitHub should be deployed and running&lt;/strong&gt; and the health of the EB instance should be OK.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ADzIm0Mh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xs92zos9l2vjsosgq65h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ADzIm0Mh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xs92zos9l2vjsosgq65h.png" alt="Sample Application" width="880" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To check if your code has been deployed and running, click on the EB instance link (also shown above).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SChPpRVw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mwvo31rwbghagnpc6w1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SChPpRVw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mwvo31rwbghagnpc6w1a.png" alt="Deployed &amp;amp; Running Application Code from GitHub" width="880" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This is a step-by-step guide to deploy a nest application using Elastic Beanstalk and CodePipeline. AWS CodePipeline and Elastic Beanstalk are great services to get you quickly up and running in CD environment. You can fully focus on developing great software and writing maintainable code instead of worrying about the underlying cloud infrastructure.&lt;/p&gt;




&lt;p&gt;If you like the article, follow me on &lt;a href="https://medium.com/@usmanmehmood12"&gt;Medium&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/usmanmehmood12/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>cloud</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Project Management Tools Comparison: Trello vs. Asana vs. Jira</title>
      <dc:creator>usmanmehmood-12</dc:creator>
      <pubDate>Sat, 12 Nov 2022 13:51:11 +0000</pubDate>
      <link>https://dev.to/usmanmehmood12/project-management-tools-comparison-trello-vs-asana-vs-jira-2pf5</link>
      <guid>https://dev.to/usmanmehmood12/project-management-tools-comparison-trello-vs-asana-vs-jira-2pf5</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on&lt;/em&gt; &lt;em&gt;&lt;a href="https://medium.com/@usmanmehmood12/project-management-tools-comparison-trello-vs-asana-vs-jira-3a678c35d029"&gt;Medium&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A comparison between project management tools Trello, Jira and Asana.&lt;/p&gt;

&lt;p&gt;There are hundreds of project management tools out there and choosing the right one can be daunting task. Below is a comparison of the 3 most popular PM tools to help you choose the right one for your project.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nt50olaH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/07n0krarijrto3uxc1ti.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nt50olaH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/07n0krarijrto3uxc1ti.png" alt="Trello interface (by Trello)" width="880" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Company:&lt;/strong&gt; Atlassian&lt;br&gt;
&lt;strong&gt;Used by:&lt;/strong&gt; Adobe, Kickstarter, National Geographic, Fender&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.trello.com/"&gt;Trello&lt;/a&gt; is one of the most popular lightweight project management tools out there. It's favoured by startups, small teams, temporary projects and in various other scenarios where project managers require a minimal structure to keep their projects organized.&lt;br&gt;
It is also a good tool to use when introducing a team to an Agile Kanban workflow.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;· Lightweight:&lt;/strong&gt; The structure is easy to maintain and can be set up in just a few minutes.&lt;br&gt;
&lt;strong&gt;· Intuitive interface:&lt;/strong&gt; Team members can be on-boarded quick.&lt;br&gt;
&lt;strong&gt;· Price:&lt;/strong&gt; Free version is good enough if you have simple projects and lightweight processes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cons
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;· Lightweight:&lt;/strong&gt; The flip side of being lightweight is that it is hard to provide a lot of options for customization for companies that have elaborate workflows.&lt;br&gt;
&lt;strong&gt;· Information expires quickly:&lt;/strong&gt; Limited activity log, search capabilities coupled with minimal labeling options make it hard to track information over a longer period.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U86euXCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9fd4mu78u0fmwbfpmc48.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U86euXCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9fd4mu78u0fmwbfpmc48.png" alt="Asana interface screenshot (by Asana)" width="880" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Company:&lt;/strong&gt; Asana&lt;br&gt;
&lt;strong&gt;Used by:&lt;/strong&gt; Yelp, Air France, Meliá Hotels, Bill &amp;amp; Melinda Gate&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.asana.com/"&gt;Asana&lt;/a&gt; was created in 2008 by Facebook co-founder &lt;a href="https://en.wikipedia.org/wiki/Dustin_Moskovitz"&gt;Dustin Moskovitz&lt;/a&gt; and engineer &lt;a href="https://en.wikipedia.org/wiki/Justin_Rosenstein"&gt;Justin Rosenstein&lt;/a&gt;. In its early stages, Asana focused on smaller teams and has only recently started to incorporate features like “Portfolio” and “Workloads” aimed at bigger businesses.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;· Strong search:&lt;/strong&gt; Advanced search options make it easy to find tasks and files among multiple projects.&lt;br&gt;
&lt;strong&gt;· Timeline view:&lt;/strong&gt; Asana offers an intuitive Gantt chart type view with easy rescheduling and task dependency management.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cons
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;· No multi-assign:&lt;/strong&gt; A task can only be assigned to one person.&lt;br&gt;
&lt;strong&gt;· Scrum and sprints:&lt;/strong&gt; Scrum workflow with sprint tracking is supported only via third-party tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Jira
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a8dhi5A---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4alx5ngi5me5i5t0tx9k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a8dhi5A---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4alx5ngi5me5i5t0tx9k.png" alt="Jira interface screenshot (by Atlassian)" width="880" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Company:&lt;/strong&gt; Atlassian&lt;br&gt;
&lt;strong&gt;Used by:&lt;/strong&gt; Square, eBay, Spotify, Cisco, Airbnb&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.atlassian.com/software/jira"&gt;Jira&lt;/a&gt; is one of the most popular Project Management tools out there and is a safe choice for organizations. It is highly customizable and can be fully utilized by larger companies, which need to coordinate between multiple complex projects and have a need to customize the task workflow. Atlassian also offers &lt;a href="https://confluence.atlassian.com/alldoc/atlassian-documentation-32243719.html"&gt;Confluence&lt;/a&gt; which is a collaborative documentation tool which integrates nicely with Jira. For seamless communication and tech development, other third-party tools such as &lt;a href="https://slack.com/"&gt;Slack&lt;/a&gt; and GitHub, can also be integrated. For smaller teams or temporary projects, there are more lightweight and cheaper tools out there.&lt;/p&gt;

&lt;h4&gt;
  
  
  Pros
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;· Highly customizable:&lt;/strong&gt; Workflow tools allow you to tailor Jira to the way your company operates.&lt;br&gt;
&lt;strong&gt;· Multiple integrations:&lt;/strong&gt; An open marketplace provides a lot of integrations with other popular tools like GitHub, Microsoft Teams, Outlook etc.&lt;br&gt;
&lt;strong&gt;· Kanban, scrum and sprints:&lt;/strong&gt; Kanban boards and scrum workflow with sprint tracking is supported out of the box.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cons
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;· Long setup time:&lt;/strong&gt; The large amount of customization available means that it takes longer for the user to set everything up and to train others on how to use the tool.&lt;br&gt;
&lt;strong&gt;· Complex interface:&lt;/strong&gt; Managing roles, boards, issues can feel clunky and the tool is not as intuitive as it could be.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Different projects require different tools. The decision to choose depends on your project needs and personal preference, as every tool has its own set of advantages in particular situations. &lt;br&gt;
However, the 3 most popular tools covered in this article can be grouped into three categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trello:&lt;/strong&gt; &lt;em&gt;Lightweight.&lt;/em&gt; If your company needs a tool that is easy to set up and start using. A perfect tool for those who need a Kanban board.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Asana:&lt;/strong&gt; &lt;em&gt;Midweight.&lt;/em&gt; Fit for most traditional projects of medium complexity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jira:&lt;/strong&gt; &lt;em&gt;Heavyweight.&lt;/em&gt; A tool made with Agile software development in mind. It provides Kanban and Scrum boards and is highly customizable.&lt;/p&gt;




&lt;p&gt;If you like the article, follow me on &lt;a href="https://medium.com/@usmanmehmood12"&gt;Medium&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/usmanmehmood12/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>projectmanagement</category>
      <category>webdev</category>
      <category>jira</category>
      <category>asana</category>
    </item>
  </channel>
</rss>
