<?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: lineldcosta</title>
    <description>The latest articles on DEV Community by lineldcosta (@lineldcosta).</description>
    <link>https://dev.to/lineldcosta</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%2F220193%2F8d9b7a02-647c-4c8f-8397-2ec1b0002fa4.png</url>
      <title>DEV Community: lineldcosta</title>
      <link>https://dev.to/lineldcosta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lineldcosta"/>
    <language>en</language>
    <item>
      <title>React simple responsive menu hook</title>
      <dc:creator>lineldcosta</dc:creator>
      <pubDate>Fri, 09 Apr 2021 11:51:11 +0000</pubDate>
      <link>https://dev.to/lineldcosta/react-simple-responsive-hook-1jnn</link>
      <guid>https://dev.to/lineldcosta/react-simple-responsive-hook-1jnn</guid>
      <description>&lt;p&gt;Do you want to convert your menu to responsive? just wrap it with react-responsive-menu-hook!&lt;/p&gt;

&lt;p&gt;It gives full control over the menu ui as well as the design of ellipsis&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&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%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lineldcosta" rel="noopener noreferrer"&gt;
        lineldcosta
      &lt;/a&gt; / &lt;a href="https://github.com/lineldcosta/react-responsive-menu-hook" rel="noopener noreferrer"&gt;
        react-responsive-menu-hook
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Simple flexible hook to convert any menu links into responsive links.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;react-responsive-menu-hook&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Headless&lt;/li&gt;
&lt;li&gt;Responsive&lt;/li&gt;
&lt;li&gt;Extensible&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;yarn add react-responsive-menu-hook
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
npm i -s react-responsive-menu-hook&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Basic Usage&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-v"&gt;React&lt;/span&gt; &lt;span class="pl-k"&gt;from&lt;/span&gt; &lt;span class="pl-s"&gt;'react'&lt;/span&gt;
&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-v"&gt;ReactResponsiveMenu&lt;/span&gt; &lt;span class="pl-k"&gt;from&lt;/span&gt; &lt;span class="pl-s"&gt;'react-responsive-menu-hook'&lt;/span&gt;
&lt;span class="pl-k"&gt;function&lt;/span&gt; &lt;span class="pl-v"&gt;App&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
  &lt;span class="pl-k"&gt;return&lt;/span&gt; &lt;span class="pl-kos"&gt;(&lt;/span&gt;
    &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;ReactResponsiveMenu&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="pl-kos"&gt;{&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt; getMenuProps&lt;span class="pl-kos"&gt;,&lt;/span&gt; showEllipsis&lt;span class="pl-kos"&gt;,&lt;/span&gt; children&lt;span class="pl-kos"&gt;,&lt;/span&gt; open&lt;span class="pl-kos"&gt;,&lt;/span&gt; toggle &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-c1"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-k"&gt;return&lt;/span&gt; &lt;span class="pl-kos"&gt;(&lt;/span&gt;
          &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-v"&gt;React&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-v"&gt;Fragment&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;...&lt;span class="pl-en"&gt;getMenuProps&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt; &lt;span class="pl-c1"&gt;id&lt;/span&gt;: &lt;span class="pl-s"&gt;'home'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; style &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;Home&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-c1"&gt;/&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;...&lt;span class="pl-en"&gt;getMenuProps&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt; &lt;span class="pl-c1"&gt;id&lt;/span&gt;: &lt;span class="pl-s"&gt;'contactUs'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; style &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;Contact Us&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-c1"&gt;/&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;...&lt;span class="pl-en"&gt;getMenuProps&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt; &lt;span class="pl-c1"&gt;id&lt;/span&gt;: &lt;span class="pl-s"&gt;'aboutUs'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; style &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;About Us&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-c1"&gt;/&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;...&lt;span class="pl-en"&gt;getMenuProps&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt; &lt;span class="pl-c1"&gt;id&lt;/span&gt;: &lt;span class="pl-s"&gt;'registration'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; style &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;Registration&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-c1"&gt;/&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;...&lt;span class="pl-en"&gt;getMenuProps&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/lineldcosta/react-responsive-menu-hook" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  To install run
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; npm install react-responsive-menu-hook
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/sharp-leavitt-w08wn"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codesandbox.io/s/sharp-leavitt-w08wn?file=/src/index.js" rel="noopener noreferrer"&gt;https://codesandbox.io/s/sharp-leavitt-w08wn?file=/src/index.js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy coding...! drop a comment if you have any issues!&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Custom React hook form validation with yup &amp; material ui</title>
      <dc:creator>lineldcosta</dc:creator>
      <pubDate>Mon, 29 Jun 2020 11:06:47 +0000</pubDate>
      <link>https://dev.to/lineldcosta/react-hooks-custom-form-validation-with-yup-material-ui-2hfg</link>
      <guid>https://dev.to/lineldcosta/react-hooks-custom-form-validation-with-yup-material-ui-2hfg</guid>
      <description>&lt;p&gt;Doing any freelancing? want to finish the task quickly? Just follow below, apply on any forms and finsh form validation quickly.&lt;/p&gt;

&lt;p&gt;Create a reducer&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const reducer = (state, action) =&amp;gt; {
  switch (action.type) {
    case 'SET_VALUE':
      return {
        ...state,
        [FORMDATA]: action.payLoad,
      };
    case 'SET_ERROR':
      return {
        ...state,
        [ERRORS]: action.payLoad,
      };
    case 'ON_CHANGE':
      return {
        ...state,
        ...action.payLoad,
      };
    default:
      return state;
  }
};
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Use the below custom hook&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
export const useForm = (schema, defaultFormValues = {}) =&amp;gt; {
  const [state, dispatch] = useReducer(reducer, { [FORMDATA]: defaultFormValues, [ERRORS]: {} });
  const { formData, errors } = state;

  // Commit state result
  const dispatchValue = (field, value, result) =&amp;gt; {
    if (result instanceof Yup.ValidationError) {
      // Error
      errors[field] = result.message;
    } else {
      // Delete current state result
      delete errors[field];
    }

    // Update state, for object update, need a clone
    const newState = { [ERRORS]: errors, [FORMDATA]: { ...formData, [field]: value } };
    dispatch({ type: 'ON_CHANGE', payLoad: newState });
  };

  const updateFormValue = (field, value) =&amp;gt; {
    // Validate the field, then before catch, if catch before then, both will be triggered

    Yup.reach(schema(), field)
      .validate(value)
      .then((result) =&amp;gt; {
        dispatchValue(field, value, result);
      })
      .catch((result) =&amp;gt; {
        dispatchValue(field, value, result);
      });
  };

  return {
    validate: async () =&amp;gt; {
      const validationResult = { isValid: true, errors: {} };
      try {
        await schema().validate(formData, {
          strict: true,
          abortEarly: false,
          stripUnknown: false,
        });
      } catch (e) {
        const formValidationError = {};
        if (e instanceof Yup.ValidationError) {
          // eslint-disable-next-line no-restricted-syntax
          for (const error of e.inner) {
            // Only show the first error of the field
            if (!formValidationError[error.path]) {
              formValidationError[error.path] = error.message;
            }
          }
        }
        dispatch({ type: 'SET_ERROR', payLoad: formValidationError });
        validationResult.isValid = false;
        validationResult.errors = formValidationError;
        return validationResult;
      }

      return validationResult;
    },
    setValue: (formInput) =&amp;gt; {
      //  In case where we need to set all the form values
      if (Array.isArray(formInput)) {
        const [defaultObj] = formInput;
        dispatch({ type: 'SET_VALUE', payLoad: { ...formData, ...defaultObj } });
      } else {
        const { name, value } = formInput;
        updateFormValue(name, value);
      }
    },
    errors: (field) =&amp;gt; errors[field],
    getValues: () =&amp;gt; formData,
    value: (field) =&amp;gt; state[field],
    onFormBlur: (name, value) =&amp;gt; {
      updateFormValue(name, value);
    },
  };
};

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



&lt;p&gt;To handle form value and validation just import the above hook.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
  const { validate, setValue, errors, getValues } = useForm(validateSchema, formData);

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



&lt;p&gt;You can use yup to define the schema&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import * as yup from 'yup';

// eslint-disable-next-line import/prefer-default-export
export const validateSchema = () =&amp;gt;
  yup.object().shape({
    service: yup
      .number()
      .required('Please provide the service')
  });


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



&lt;p&gt;To get the form values you can use the method exported from useFrom hook like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  const initialState = getValues();

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



&lt;p&gt;If you are using material-ui then use like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  &amp;lt;TextField
    id={ROLE}
    name={ROLE}
    label="Role"
    placeholder=""
    maxLength="15"
    fullWidth
    required
    margin="dense"
    value={initialState[ROLE]}
    autoComplete="off"
    disabled={isLoading || isSubmiting || !initialState[SERVICE]}
    onChange={onChangeInput(ROLE)}
    error={!!errors(ROLE)}
    helperText={errors(ROLE)}
    InputLabelProps={{
      shrink: true,
      'aria-label': 'Select Role',
    }}
  /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;If you have any suggetions add comments.... happy coding!!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Boilerplate for nodejs, typescript - simple folder structure</title>
      <dc:creator>lineldcosta</dc:creator>
      <pubDate>Mon, 06 Jan 2020 11:27:58 +0000</pubDate>
      <link>https://dev.to/lineldcosta/ready-to-code-nodejs-typescript-boilerplate-4f92</link>
      <guid>https://dev.to/lineldcosta/ready-to-code-nodejs-typescript-boilerplate-4f92</guid>
      <description>&lt;p&gt;This is a simple boilerplate application to start the project from scratch using typescript and nodejs.&lt;/p&gt;

&lt;p&gt;If you are working on freelance projects and wanted to quickstart the project with all the initial setup having simple architechture, use this setup and finish requirement on time :-)&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lineldcosta"&gt;
        lineldcosta
      &lt;/a&gt; / &lt;a href="https://github.com/lineldcosta/typescript-node-rest-api-boilerplate"&gt;
        typescript-node-rest-api-boilerplate
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Node.js REST API boilerplate built with typescript, Node, Jest, pm2, express, postgresql, slonik
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;This is rest based nodejs boilerplate application, which uses router-services-model architecture.&lt;/p&gt;
&lt;h2&gt;
Requirements&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://nodejs.org/en/" rel="nofollow"&gt;NodeJS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Install global TypeScript and TypeScript Node&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm install -g typescript ts-node
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;
Clone this repository&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;git@github.com:lineldcosta/typescript-node-rest-api-boilerplate.git
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then install the dependencies&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;
To Run the application in production mode&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;yarn start-prod
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;
To Run the application in development mode&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;yarn start-dev
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;
To Run the tests&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;Yarn jest
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/lineldcosta/typescript-node-rest-api-boilerplate"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;It uses the best approaches available to create typescript-nodejs API.&lt;/p&gt;

&lt;h3&gt;
  
  
  Requirements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;NodeJS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Install global TypeScript and TypeScript Node
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; npm install -g typescript ts-node 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Clone this repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; git@github.com:lineldcosta/typescript-node-rest-api-boilerplate.git

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Then install the dependencies
&lt;/h3&gt;



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

&lt;/div&gt;



&lt;h3&gt;
  
  
  To Run the application in production mode
&lt;/h3&gt;



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

&lt;/div&gt;



&lt;h3&gt;
  
  
  To Run the application in development mode
&lt;/h3&gt;



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

&lt;/div&gt;



&lt;h3&gt;
  
  
  To Run the tests
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Yarn jest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Happy coding...! If you like then don't forget to star itt!!!&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>node</category>
      <category>postgres</category>
      <category>slonik</category>
    </item>
  </channel>
</rss>
