<?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: atgitdeepak</title>
    <description>The latest articles on DEV Community by atgitdeepak (@atgitdeepak).</description>
    <link>https://dev.to/atgitdeepak</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%2F623300%2F751f4baa-469f-4088-a565-906dffbc1f66.png</url>
      <title>DEV Community: atgitdeepak</title>
      <link>https://dev.to/atgitdeepak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atgitdeepak"/>
    <language>en</language>
    <item>
      <title>Slow Start-Up Time</title>
      <dc:creator>atgitdeepak</dc:creator>
      <pubDate>Wed, 24 Nov 2021 11:48:26 +0000</pubDate>
      <link>https://dev.to/atgitdeepak/slow-start-up-time-40n6</link>
      <guid>https://dev.to/atgitdeepak/slow-start-up-time-40n6</guid>
      <description>&lt;p&gt;My app is taking too much to open approximately (7–12 secs).&lt;br&gt;
In development mode, I observed a gap(15 secs) in the node server between bundling and the first console.log() of the "index.js" file(very first file).&lt;br&gt;
I have enabled Hermes&lt;br&gt;
I have started using inline require&lt;br&gt;
I have removed unused files and unused reports&lt;/p&gt;

&lt;p&gt;Can you guys please help me with this, this is very urgent(I am stuck in this for the last 1–2 weeks).&lt;br&gt;
Please refer to the image to see the gap. (//TRE is the first console.log in the "index.js" file.)&lt;br&gt;
(&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cw0p1vd0qn00vu4dzgek.png"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cw0p1vd0qn00vu4dzgek.png&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;//This is my package.json&lt;br&gt;
  "dependencies": {&lt;br&gt;
    "&lt;a class="mentioned-user" href="https://dev.to/babel"&gt;@babel&lt;/a&gt;
/runtime": "^7.15.4",&lt;br&gt;
    "@react-native-async-storage/async-storage": "^1.15.4",&lt;br&gt;
    "@react-native-community/clipboard": "^1.5.1",&lt;br&gt;
    "@react-native-community/masked-view": "^0.1.11",&lt;br&gt;
    "@react-navigation/drawer": "^5.9.0",&lt;br&gt;
    "@react-navigation/native": "5.1.4",&lt;br&gt;
    "@react-navigation/stack": "5.2.9",&lt;br&gt;
    "@twotalltotems/react-native-otp-input": "^1.3.11",&lt;br&gt;
    "axios": "^0.19.2",&lt;br&gt;
    "moment": "^2.29.1",&lt;br&gt;
    "react": "16.13.1",&lt;br&gt;
    "react-dom": "16.13.1",&lt;br&gt;
    "react-native": "~0.63.3",&lt;br&gt;
    "react-native-bcrypt": "^2.4.0",&lt;br&gt;
    "react-native-calendar-picker": "^7.0.3",&lt;br&gt;
    "react-native-datepicker": "^1.7.2",&lt;br&gt;
    "react-native-device-info": "^8.1.3",&lt;br&gt;
    "react-native-elements": "^3.4.1",&lt;br&gt;
    "react-native-gesture-handler": "~1.7.0",&lt;br&gt;
    "react-native-keychain": "^7.0.0",&lt;br&gt;
    "react-native-material-ui": "^1.30.1",&lt;br&gt;
    "react-native-modal": "^12.0.2",&lt;br&gt;
    "react-native-modal-dropdown": "^1.0.1",&lt;br&gt;
    "react-native-reanimated": "~1.13.0",&lt;br&gt;
    "react-native-safe-area-context": "^3.3.2",&lt;br&gt;
    "react-native-screens": "~2.10.1",&lt;br&gt;
    "react-native-selectmultiple-button": "^0.1.105",&lt;br&gt;
    "react-native-splash-screen": "^3.2.0",&lt;br&gt;
    "react-native-sqlite-storage": "^5.0.0",&lt;br&gt;
    "react-native-svg": "^12.1.1",&lt;br&gt;
    "react-native-unimodules": "~0.11.0",&lt;br&gt;
    "react-native-vector-icons": "6.6.0",&lt;br&gt;
    "react-native-webview": "^11.6.5",&lt;br&gt;
    "react-navigation": "^4.4.4",&lt;br&gt;
    "react-redux": "7.1.3",&lt;br&gt;
    "redux": "4.0.5",&lt;br&gt;
    "redux-logger": "^3.0.6",&lt;br&gt;
    "redux-persist": "^6.0.0",&lt;br&gt;
    "rn-fetch-blob": "^0.12.0"&lt;br&gt;
  },&lt;br&gt;
  "devDependencies": {&lt;br&gt;
    "&lt;a class="mentioned-user" href="https://dev.to/babel"&gt;@babel&lt;/a&gt;
/core": "~7.9.0",&lt;br&gt;
    "babel-jest": "~25.2.6",&lt;br&gt;
    "jest": "~25.2.6",&lt;br&gt;
    "metro-react-native-babel-preset": "^0.58.0",&lt;br&gt;
    "react-devtools": "^4.13.5",&lt;br&gt;
    "react-native-svg-transformer": "^0.14.3",&lt;br&gt;
    "react-test-renderer": "~16.13.1"&lt;br&gt;
  },&lt;br&gt;
  "jest": {&lt;br&gt;
    "preset": "react-native"&lt;br&gt;
  }&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>android</category>
      <category>javascript</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Need Help,Issue In OTP Login</title>
      <dc:creator>atgitdeepak</dc:creator>
      <pubDate>Thu, 06 May 2021 08:40:19 +0000</pubDate>
      <link>https://dev.to/atgitdeepak/issue-in-otp-login-2hc8</link>
      <guid>https://dev.to/atgitdeepak/issue-in-otp-login-2hc8</guid>
      <description>&lt;p&gt;Hello to all,&lt;br&gt;
Actually, I am trying to make an OTP(One Time Password) based login page in my react-native app. But I am confused to do this with proper authentication.&lt;/p&gt;

&lt;p&gt;Processes that I am thinking about right now::&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enter mobile number on app, hit submit button this will take the number to backend and will save in database (via Open API(a)(no protection)).&lt;/li&gt;
&lt;li&gt;Then will use 3rd Party API(b) to create OTP which will send it to the customer, as a response from API(a).&lt;/li&gt;
&lt;li&gt;Customer will enter the received OTP and hit the login button, this will again go back, this time I will create JWT based token and which will be sent to the customer.[API used to create token((c)(no protection))]&lt;/li&gt;
&lt;li&gt;Now this token will be stored somewhere in the app, and will get appended to each and every request that the customer will make.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now the confusing part,&lt;br&gt;
the API (a) is open like anyone can access it, and anyone can hit the OTP API(b) via my API (a).&lt;br&gt;
API (c) again is open, which means anybody can hit the API by submitting the OTP received via API (a).&lt;br&gt;
Hence, can receive the token.&lt;br&gt;
This way anybody can hit every API in my app.&lt;br&gt;
Which is not healthy.&lt;br&gt;
I am not able to come up with a better and solid approach.&lt;/p&gt;

&lt;p&gt;How do I resolve this issue, kindly help?&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>authentication</category>
      <category>jsonwebtoken</category>
      <category>node</category>
    </item>
  </channel>
</rss>
