<?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: NikSS</title>
    <description>The latest articles on DEV Community by NikSS (@niksseif).</description>
    <link>https://dev.to/niksseif</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%2F380871%2F07104ec4-34c9-47a9-9f01-8ee827251524.jpeg</url>
      <title>DEV Community: NikSS</title>
      <link>https://dev.to/niksseif</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/niksseif"/>
    <language>en</language>
    <item>
      <title>A Quick Guide to Deploying a Parcel/React Project on Firebase 🎉</title>
      <dc:creator>NikSS</dc:creator>
      <pubDate>Wed, 25 Oct 2023 19:45:00 +0000</pubDate>
      <link>https://dev.to/niksseif/a-quick-guide-to-deploying-a-parcelreact-project-on-firebase-4o8k</link>
      <guid>https://dev.to/niksseif/a-quick-guide-to-deploying-a-parcelreact-project-on-firebase-4o8k</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;br&gt;
Parcel is a fast, zero-config web application bundler. When combined with React and Firebase hosting, it offers a smooth development-to-deployment flow. However, there are some steps and configurations you should be aware of. In this post, I'll walk you through deploying your Parcel/React project on Firebase. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A React project set up with Parcel.&lt;/li&gt;
&lt;li&gt;Firebase CLI installed and authenticated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step-by-step Guide:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Update Your package.json&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Add the following scripts to the scripts section of your package.json located in the root directory of your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//json
"scripts": {
    "clear-build-cache": "rm -rf .cache/ dist/",
    "dev": "parcel src/index.html",
    "build": "cross-env NODE_ENV=production parcel build ./src/index.html --public-url ./",
    "format": "prettier --write \"src/**/*.{js,jsx}\"",
    "lint": "eslint \"src/**/*.{js,jsx}\" --quiet",
    "test": "echo \"Error: no test specified\" &amp;amp;&amp;amp; exit 1"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A quick breakdown of these scripts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;dev&lt;/code&gt;&lt;/strong&gt;: Runs your project locally.&lt;br&gt;
&lt;strong&gt;&lt;code&gt;clear-build-cache&lt;/code&gt;&lt;/strong&gt;: Clears the .cache and dist directories before executing your build.&lt;br&gt;
&lt;strong&gt;&lt;code&gt;format&lt;/code&gt;&lt;/strong&gt;: Runs prettier to format all your code files.&lt;br&gt;
Ensure that the &lt;code&gt;index.html&lt;/code&gt; path in the build script is accurate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Clean the Build Cache&lt;/strong&gt;&lt;br&gt;
Either manually remove the dist and .cache files or use the script we just added:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run clear-build-cache
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Build the Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Execute the build command:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;This will generate the dist folder for your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Configure Firebase&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Initialize Firebase in your project, ensuring the public directory in firebase.json points to the dist folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "hosting": {
    "public": "dist/",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Deploy to Firebase&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, all that's left is to deploy your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;firebase deploy

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deploying a Parcel/React project to Firebase is straightforward with the right configurations in place. I hope this guide makes the process even simpler for you. If you found this helpful or have any questions, feel free to drop a comment below!🎉&lt;/p&gt;

</description>
      <category>firebase</category>
      <category>react</category>
      <category>parcel</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Getting Started with React Native and Expo: An Introduction to.env Files</title>
      <dc:creator>NikSS</dc:creator>
      <pubDate>Sun, 26 Feb 2023 17:44:02 +0000</pubDate>
      <link>https://dev.to/niksseif/getting-started-with-react-native-and-expo-an-introduction-toenv-files-35d1</link>
      <guid>https://dev.to/niksseif/getting-started-with-react-native-and-expo-an-introduction-toenv-files-35d1</guid>
      <description>&lt;p&gt;Getting started with React Native and Expo can be a great way to build mobile applications, especially if you're already familiar with React. One important aspect of app development is the use of environment variables. In this article, we'll show you how to use a .env file to manage your environment variables in a React Native project built with Expo.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Expo?
&lt;/h2&gt;

&lt;p&gt;Expo is a framework for building React Native apps. It is a set of tools and services made for React Native. It will help you begin building React Native apps with ease. Expo provides a command-line interface that allows developers to easily create, build, and publish their apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a .env file?
&lt;/h2&gt;

&lt;p&gt;Environment variables are a set of dynamic values that are used by your application at runtime. For example, you may want to use a different API key or URL depending on whether you're running your app locally or in production. A .env file is a simple text file that contains key-value pairs, and is used to store environment variables for your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using a .env file with Expo
&lt;/h2&gt;

&lt;p&gt;To use a &lt;code&gt;.env&lt;/code&gt; file with Expo, you'll need to install the "dotenv" package. This package will load your environment variables from your .env file, and make them available in your app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here are the steps you'll need to follow:
&lt;/h3&gt;

&lt;p&gt;First, navigate to your project's root directory in your terminal.&lt;br&gt;
Run the following command to install the dotenv package:&lt;br&gt;
1- &lt;code&gt;npm install dotenv&lt;/code&gt;&lt;br&gt;
2-  Create a &lt;code&gt;.env&lt;/code&gt; file in your root directory. Here's an example of what it might contain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//.env file
API_KEY=your-api-key
API_URL=https://api.example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3- When configuring Babel, remember to add the path to your .env file as well. This file should always be located in the root directory of your project. See below&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//babel.rc
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
  [
    "module:react-native-dotenv",
    {
      moduleName: "@env",
      path: ".env",
    },
  ],
],
};
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you can use your environment variables in your code. Here's an example of how to access the API key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { API_KEY } from '@env';
console.log(API_KEY);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, we're using the "API_KEY" variable that we defined in our &lt;code&gt;.env&lt;/code&gt; file. The "&lt;a class="mentioned-user" href="https://dev.to/env"&gt;@env&lt;/a&gt;" syntax is used to tell Expo to load the variable from the .env file.&lt;/p&gt;

&lt;p&gt;Please note that our &lt;code&gt;.env&lt;/code&gt; file should always be located in the root directory of our project. To ensure the security of our API, it's important to add the &lt;code&gt;.env&lt;/code&gt; file to the &lt;code&gt;.gitignore&lt;/code&gt; file. This will prevent the file from being pushed to the repository and keep our API credentials safe.&lt;/p&gt;

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

&lt;p&gt;Using a &lt;code&gt;.env&lt;/code&gt; file to manage your environment variables can be a great way to keep your app's sensitive information secure, and simplify the process of deploying your app to different environments. By following the steps outlined in this article, you can get started with managing your environment variables in a React Native project built with Expo.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>cms</category>
      <category>freelancing</category>
      <category>career</category>
    </item>
    <item>
      <title>Questions-I-ask-during-my-interviews</title>
      <dc:creator>NikSS</dc:creator>
      <pubDate>Tue, 17 Aug 2021 21:40:22 +0000</pubDate>
      <link>https://dev.to/niksseif/questions-i-ask-during-my-interviews-14c8</link>
      <guid>https://dev.to/niksseif/questions-i-ask-during-my-interviews-14c8</guid>
      <description>&lt;p&gt;Goals and Objectives&lt;/p&gt;

&lt;p&gt;This repo is a collection of interview questions that help identify your future company. These are the questions I've collected during my interviews with different companies. Remember they are interviewing you, and you are interviewing them.&lt;br&gt;
Remember, these questions can be different for each company, but I hope this repo can help you succeed in your interview process.&lt;/p&gt;

&lt;p&gt;Company culture&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How are your teams structured?&lt;/li&gt;
&lt;li&gt;How many women work in this team?&lt;/li&gt;
&lt;li&gt;What's your process to ensure you have diversity in other ways?&lt;/li&gt;
&lt;li&gt;How does internal communication work in your company?&lt;/li&gt;
&lt;li&gt;What is the on-boarding process in your company?&lt;/li&gt;
&lt;li&gt;How much vacation do people get?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Community involvement&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do you contribute to open source projects?&lt;/li&gt;
&lt;li&gt;Do your employees speak at conferences about the work they do? What is the company's support for that?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Career development&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do your company support continuing education? This is an important question if you want to grow in your field.&lt;/li&gt;
&lt;li&gt;What are the ways your company supports career development?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Engineering practices&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can you give me an example of someone who's been in a technical role at your company for a long time, and how their responsibilities and role have evolved?&lt;/li&gt;
&lt;li&gt;How is performance evaluated?&lt;/li&gt;
&lt;li&gt;How is this team structured?&lt;/li&gt;
&lt;li&gt;Tell me more about this team?&lt;/li&gt;
&lt;li&gt;Are there any specific written goals for this opportunity?&lt;/li&gt;
&lt;li&gt;Is there a written road map available to developers? And how far into the future does it extends?&lt;/li&gt;
&lt;li&gt;Do you use TDD or BDD in your company?&lt;/li&gt;
&lt;li&gt;Do you do code reviews?&lt;/li&gt;
&lt;li&gt;Do you have a dedicated designer or team of design?&lt;/li&gt;
&lt;li&gt;Who is the best candidate for this job (Characteristic)?&lt;/li&gt;
&lt;li&gt;Who is responsible for deployment? How often do you deploy?&lt;/li&gt;
&lt;li&gt;Can I see some code from the team you are interviewing? Ask for open source projects.&lt;/li&gt;
&lt;li&gt;How often do teammates pair in this team?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Management practices&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How is performance evaluated?&lt;/li&gt;
&lt;li&gt;How are technical decisions made and communicated?&lt;/li&gt;
&lt;li&gt;How are decisions made in this team?&lt;/li&gt;
&lt;li&gt;How often do we have meetings? Do we have morning standups?&lt;/li&gt;
&lt;li&gt;Let's say my interview went well, and I get this job. In a year, what skills do I need to show to consider this hire a successful hire?&lt;/li&gt;
&lt;li&gt;Does this position require travel?&lt;/li&gt;
&lt;li&gt;How much are you planning to hire this year?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What do you wish you had known before joining this company?&lt;/li&gt;
&lt;li&gt;Why did you choose to join this company?&lt;/li&gt;
&lt;li&gt;Can you give me an example of an issue this team is facing and what's currently being done to address that?&lt;/li&gt;
&lt;li&gt;At the end of your technical interview, ask if they are willing to share some feedback with you.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
