Search

Step-by-Step: Create a React Project From Scratch

Hello learners. In this tutorial we will learn How to create a new React app. Before we begin, we need to understand few things. These tutorials are aimed for the aspiring and seasoned web developers & designer. If you are an aspiring web developer who wants to establish their career in React and other modern frontend technologies, these tutorials will provide you the basic understanding that you need to learn, rehearse and practice. And some additional links as a part of suggestive reading, which you can further dwell upon. As a lifelong learner, we need to be open to new ideas however they may challenge your beliefs at first.  Technology is a work in progress. It composes of sections of stable parts which can be applied to solve the problem of our lives. And some sections which are the part of debate and undergoing experimentation and transformation by the pioneers who forged & nurture the systems. The cutting-edge technology tends to follow approximately the following adoption curve.Source: Crossing the Chasm  (1990) -Author: Geoffrey Moore   Technology Adoption Lifecycle As you can see, the curve is divided among 5 sections as categorized by the work of: Innovators Early adopters Early majority Late majority  LaggardsArea under the curve represents number of customers  During the second phase, there is an important phase known as Chasm. Any nascent technology which becomes main stream must grow this phase with the help of Early adopters along with innovators. And every promising technology has gone through this phase before it has gained enough momentum and has gone mainstream. Before we learn React. We need to learn some concepts. And It will be good to have some basic understanding of how internet works. There are various technical jargon associated and it is a broad topic. If you are complete starter, I hope it will give you some base. We will try to understand and answer the following: What is Client & Server? What is meant by HTTP?Client & Server When a user is connected to the internet with the help of browser (Google Chrome, Mozilla Firefox, Internet Explorer, Safari & Opera). And when we type or do the google search with the help of keywords. We are presented a list of search results. The user computer is a client and google search engine act as server. As it serves to your queries in the form of the best matched results in a reasonable short time, it is good to say that the search results are produced at the blink of an eye. HTTPWorld wide web (W3C) is a consortium which governs the internet. It has set of rules and protocols which defines how the different machines can communicate over the internet. Sir Tim burner Lee is the inventor of the W3C.HTTP is a protocol, which tells and describe the transmission of hypermedia on the internet. It is designed based on the client server concept. In which one system is a client which seeks the information and other system is a server who act and fulfil the request of the client. In HTTP, there are various status codes for server, and it describes the status of server based on the client request.  Whether the request has been Successful any error conditions on Client & Server redirected by server & so on.1.a(1) HTML HTML is a mark-up language which is used to create hypermedia document on the internet. Hypermedia based documents are used to exchange information on the internet. HTML should not be confused with programming language such as C, C++, Java & C#. Let’s write a Hello World! HTML document as below: <!DOCTYPE html> <html lang="en">  <head>  <meta charset="UTF-8">  <title>HTML 5 Document</title>  </head>  <body>Hello World!</ body>  </html>To run the above code we can write it down or copy & paste in our favorite text editor and save it as Hello World.html. Please note .html is the file extension. And once we open the file with the browser it will show us the output as below.HTML is composed of various tags which defines the document and it's semantic. Semantic add meaning to the content as expressed by enclosing tags and it is not purely for visual presentation purpose.  The HTML 5 document begins with <!DOCTYPE html> HTML has also undergone various revisions and modifications. For e.g. If We need to present the information as paragraph.  Then we need to use < p > tag. For Tabular data < table >, Order list < ol > & unordered list < ul > and so on. References:Complete list of HTML references.HTML Standard & Draft list. 1.a(2)CSS Brief history CSS refers to the cascading style sheets. In the beginning year of the HTML, when HTML was used primarily to exchange information with the help of HTML document on the internet.   There was limited functionality to style the webpages. In fact, there were some tags which allows to style a page and change its formatting. But there was no separation of concerns, for e.g. the formatting tag and its associated attributes were often mixed with semantic HTML.And one of the early innovators Håkon Wium Lie recognized that there is a need of web page styling language which can address the presentation part of the webpages including the layout. And there is a need of separation of concerns.  Håkon Wium Lie along with the co-inventor Bert Bos had written the specification of CSS. < table> & its sibling tags were heavily used to structure the layout of the webpages. For E.g. To create multi column layout < table> were frequently used. It worked well to create the initial push to the web layouts, but it has own draw backs.  More on the history of CSSTo know more about how we can use CSS, we will start with previous code. To change the text color of Hello World! from black to green, we will declare a stylesheet called text.css. Naming convention for filename plays important rule, in recalling the file name when your source code becomes huge. It is good to start building on these habits. Hello World.html <!DOCTYPE html>  <html lang="en">  <head>  <meta charset="UTF-8">  <link rel="stylesheet" type="text/css" href="text.css" />  <title>HTML 5 Document</title>  </head>  <body>Hello World!</body>  </html>  Text.css body{  font-family: 'Arial', Helvetica, Verdana;  color: red;  font-weight: bold;  font-size: large;  }As you can see from the browser, it displays the Hello World! text in red color and font appearance is bold & larger. CSS has lots of modules which helps us to create sophisticated layouts, cool animations, image processing using css filters, accessibility (a11y) & much more. The current version of CSS is CSS3. As technology gradually evolved, so did the CSS.  It is maintained by CSS working group, which consists of invited experts and working group members.  If you are interested to explore more you may check some of these links. Reference: CSS AlmanacCool tricks  Homer CSS (2008)Romancortes.com Animated your HTML 1.a(3) JavaScript JavaScript is used to bring interactivity on the web pages. JavaScript is based on the ECMA Script standard.  Every browser has JavaScript engines, which interpret the JavaScript code. As described in the previous sections that the HTML is responsible for the structure and semantic aspect for the webpage. And with the help of CSS, the look and feel, advanced layouts and interactivity can be added using animation and pseudo classes. JavaScript brings lots of interactivity to your pages. It is good to say that it adds wings to your creation. But sometimes these wings catch the fire, so we also know how to troubleshoot and prevent such instances from happening.  For e.g. If you ask your user to input their age. To validate the age, we can write the JavaScript code and validate, whether the input is correct or not. To recap and understand the HTML, CSS and JavaScript in brief. We can refer to the above presentation. 2. ECMA Script and new versions ECMAScript describes the functionality of JavaScript. ECMAScript is maintained by ECMA International. The aim of ECMA Script is to ensure that webpages can run the same JavaScript code across different browser, & it is also interoperable with other programming language. In this context the Interoperability means that other programming language can invoke JavaScript function. Programming languages such as Dart can run JavaScript code. Some framework such as Blazor in the world of . NET can invoke functions written in JavaScript. In terms of specification it tries to draws the line of standard for different browser vendors. Microsoft, Firefox, Google, Chrome, Opera & Apple each has its own browsers which runs on different operating systems whether it is on Windows, Linux and macOS. Sometimes the browser vendor takes a lead while implementing a feature. But the specifications for that feature are written later by standard body (ECMA International). The new feature may be adopted by another browsers vendor later in the evolution process.  Different browser vendor has different development life cycle in terms of feature’s implementation. And it takes time for the specification to become a standard. And the new version of browser is released by multiple vendor with the specification and takes time to become a standard on Web. In past few years since ECMAScript has undergone various revisions and changes as described by ES6, ES7, ES8 & ES9 & more we will see in future. And these changes have resulted into the major impact on the JavaScript syntax. More references: ECMA Script version historyECMA Script2. Intro to React & Virtual DOM React is a library which is publicly released by Facebook in 2013. React was created by Jordan Walke, a software engineer working at Facebook. React allows us to divide our code into components. And these components communicate with each other in a unidirectional flow. As the components follows a standard development structure in nomenclature and design patterns. This helps in reducing of the knowledge gaps when different team members work and manage a project in which they have not worked from scratch.  React is based on the Functional programming principles as the design pattern. It is also follow the DRY principle. DRY stands for Don’t repeat yourself. That means any piece of code which serves a specific task or function should not be repeated as the duplicate code. But we can declare it as a component and increase the reusability. Design pattern is a wide topic. If you are interested to know more about the design pattern you may check out these references.Addyosmanirefactoring.guru2.b Quick timeline of React release Technology goes through a lot of wear and tear before it is adopted in mainstream and it also need to prove it's worth in real life production environment. The complete timeline of React release is available on GitHub. Some of the interesting highlights from React release. VersionRelease DateDescription0.3.029th May 2013Public release0.13.010th March 2015Support for ES6 Classes15.007th April 2016New changes on how React interacts with DOM, added support for SVG attributes, Dropped support for IE816.026th September 2017MIT license. Reduced file size. Better error handling16.505th September 2018Added support for React Devtools profiler (Flame chart, Ranked chart, Component chart & more)16.816th February 2019Introduced concept of hooksReference: Github.comRisingstack.com2.c Component driven development The beauty to work with React is that you can structure and assemble your code in components. The parent component can contain various child components. The parent component passes the data values to child, to maintain the uni-directional data flow. For data driven apps, React seems to be a good choice. 2.d  Virtual DOM - The secret sauce of DOM Optimisation Before we understand Virtual DOM, let’s take a look at DOM. DOM refers to document object model.DOM is referred by the browser to render the HTML. The HTML is converted into DOM. To simply visualise the DOM you can think of a tree trunk and which has its roots spread down below.In DOM visualisation tree we can see that there are different nodes which are connected to html. In DOM, whenever the new nodes are inserted and deleted there is cost in terms of computation and memory footprint during such operations. And this is a little costly affair. Virtual DOM acts as performance optimiser in these operations.  The Virtual DOM has two copies, one is the master copy of the node and another one is the copy of the changes to be done. Virtual DOM reduces the cost in terms of memory and processing time to apply the changes. It applies the minimal changes required on the DOM. The process is also called reconciliation and is achieved by render() function in React. Reference: View Live DOM Tree.d3.DOM VisualizerReconciliation3. Getting Started3.a Picking the development IDE or the Editor To work with code, we need an editor which can provides us the following: An engaging developer experience Notify and spot errors in advance Can perform autocomplete, syntax highlighting and maintain readability of code Easy to customise and provide plugins to help in developer workflow Also provide us flexibility to create our own plugins And help in code collaboration while working with multiple team members. There are various editors available for developers in market such as Sublime, Atom, Brackets and Visual Studio Code & WebStorm IDE.  All of them have their pros & cons.  In our current project we are sticking to Visual studio code. It is available for Windows, Mac and Linux.  You may download the editor based on your operating system.3.b Environment Setup To run React we will require Node.js on our operating system. Node.js is written by Ryan Dahl and is based on Chrome V8 engine.  Download Node.js & visit the url And we will install the release with even number and LTS (Long term support) We will be installing the Node.js version 12. It also includes npm which we will use to run our first app in React.  To run Node.js we can use command prompt on Windows and use Terminal on macOS.To check the Node.js version, we need to run the following command. node --versionAs you can see from screenshot that we have installed version 12 (v12.18.2) After installation of Node & npm.we will be creating to create a React app with command line interface (CLI). mkdir CodefactoryInstallation of create-react-app I have created a directory called Codefactory.  And in that directory, I am going to run the following command npx create-react-app my-appAfter couple of minutes, the packages will be installed. 4. Quick intro to Node & NPM. In the previous sections we have mentioned the use of Node and NPM. Node.js help developers to use JavaScript as the main language to build their apps. It is open source.  Some of its salient features are: Event driven Non-blocking I/O (input/output) cross platform run time environment Based on Chrome V8 JavaScript EngineRyan Dahl is the creator of Node.js. V8 supports new features of JavaScript and those features are made available to Node.js. And which keep the Node.js in mainstream based on the recent development and upgradation happening in the ecosystem of JavaScript and ECMAScript. Since modularity is much needed and required by developers. Node.js follows the concepts of modules as characterized by NPM. NPM is a package manager for Node.js modules and various packages are available for developers to test and experiment with their code. Official site.References: Node.js Ryal Dahl (2009) 5. Your first React app Start with the boilerplate app Now let's go back to terminal & run our app. We will go to directory my-app and after running the following command cd my-appNow you are in my-app directory, where the npx has downloaded the dependencies and modules.  5.2 File structure of React app Now, we will go to Visual studio code. We will go to menu bar and Add the folder my-app to workspace. In the Visual studio, the explorer will list down the files under the directory structure.  5.3 Run your React app Now is the time to run the React app.  To open terminal go to menu bar and go to Terminal > New Terminal. This will open the terminal at the bottom. We need to type following command in terminal to start the app.  npm start The command line will instruct the app to open in a new browser So, here we can see the app running. Good job so far!And as per the instructions from screenshot we will open the App.js The App.js will show a bunch of import statements and function App()There are various methods to create React app via CLI such as yarn and npm on local system. In case you are facing problems during installation. As an alternative approach to create a React app, you can check StackBlitzAnd create a new workspace of React It will provide you an online playground to tinker and play with the source code in the browser itself. At the left there is a workspace and at the right output from the app. It will show you the index.js which show the import statement, class App component declaration and the render() function. The render function contains JSX. And this allow us to write HTML in JS. This is for a little human friendly version for readability for both experienced programmers and newbie. Reference 5.4 Debugging tool React provides the React Developer tools to check and inspect the components created. It is a very handy tool for debugging. To install React developer tools we will open the below url in google chrome and install add-on from chrome web store  Once we have clicked on Add to Chrome, the tool will be installed.  To open the tool go to your project at localhost. And right click it will show the context menu and click on inspectTo open the tool go to Components tab as shown below:6. Tinker and Play Once we have opened the file App.js in our main project created from CLI. We can tinker around and play with the code. On line number 10, We have a paragraph tag. We can choose any message we want to write and see how it appears on the React app. For E.g. I have added this message in <p> Paragraph tag and inside of the paragraph tag there is a right foot icon enclosed in <big> Bigger text tag. Once we save the file, it will auto reload on the app. So, the auto reload feature saves us from manually load the browser when new changes are saved to disk.  <p >          A Journey of a Thousand Miles Begins with a Single Step.           <big></big> </p >Now feel free to introduce your messages, add some tags and play around. I hope this will serve a good starting point for you to learn and practice. Before you acquire the skills to become a React developer, I hope the understanding of HTML, CSS and JavaScript will give you a good foundation. Happy Learning!.Become a pro at Web Development with the help of our  React training courses. Experience Immersive Learning. 

Step-by-Step: Create a React Project From Scratch

7K
Step-by-Step: Create a React Project From Scratch

Hello learners. In this tutorial we will learn How to create a new React app. 

Before we begin, we need to understand few things. These tutorials are aimed for the aspiring and seasoned web developers & designer. 

If you are an aspiring web developer who wants to establish their career in React and other modern frontend technologies, these tutorials will provide you the basic understanding that you need to learn, rehearse and practice. And some additional links as a part of suggestive reading, which you can further dwell upon. 

As a lifelong learner, we need to be open to new ideas however they may challenge your beliefs at first.  

Technology is a work in progress. It composes of sections of stable parts which can be applied to solve the problem of our lives. And some sections which are the part of debate and undergoing experimentation and transformation by the pioneers who forged & nurture the systems. 

The cutting-edge technology tends to follow approximately the following adoption curve.

Technology Adoption Lifecycle

Source: Crossing the Chasm  (1990) -Author: Geoffrey Moore  

 
Technology Adoption Lifecycle 

As you can see, the curve is divided among 5 sections as categorized by the work of: 

  • Innovators 
  • Early adopters 
  • Early majority 
  • Late majority  
  • Laggards

Area under the curve represents number of customers  

During the second phase, there is an important phase known as Chasm. 

Any nascent technology which becomes main stream must grow this phase with the help of Early adopters along with innovators. And every promising technology has gone through this phase before it has gained enough momentum and has gone mainstream. 

Before we learn React. We need to learn some concepts. And It will be good to have some basic understanding of how internet works. There are various technical jargon associated and it is a broad topic. If you are complete starter, I hope it will give you some base. 

We will try to understand and answer the following: 

  1. What is Client & Server? 
  2. What is meant by HTTP?

Client & Server 

When a user is connected to the internet with the help of browser (Google Chrome, Mozilla Firefox, Internet Explorer, Safari & Opera). 

And when we type or do the google search with the help of keywords. We are presented a list of search results. The user computer is a client and google search engine act as server. As it serves to your queries in the form of the best matched results in a reasonable short time, it is good to say that the search results are produced at the blink of an eye. 

HTTP

World wide web (W3C) is a consortium which governs the internet. It has set of rules and protocols which defines how the different machines can communicate over the internet. Sir Tim burner Lee is the inventor of the W3C.

HTTP

HTTP is a protocol, which tells and describe the transmission of hypermedia on the internet. It is designed based on the client server concept. In which one system is a client which seeks the information and other system is a server who act and fulfil the request of the client. 

In HTTP, there are various status codes for server, and it describes the status of server based on the client request.  

Whether the request has been 

  • Successful 
  • any error conditions on Client & Server 
  • redirected by server & so on.

1.a(1) HTML 

HTML is a mark-up language which is used to create hypermedia document on the internet. Hypermedia based documents are used to exchange information on the internet. HTML should not be confused with programming language such as C, C++, Java & C#. 

Let’s write a Hello World! HTML document as below: 

<!DOCTYPE html>
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>HTML 5 Document</title> 
</head> 
<body>Hello World!</ body> 
</html>

To run the above code we can write it down or copy & paste in our favorite text editor and save it as Hello World.html. Please note .html is the file extension. And once we open the file with the browser it will show us the output as below.

Create a React Project from Scratch

HTML is composed of various tags which defines the document and it's semantic. Semantic add meaning to the content as expressed by enclosing tags and it is not purely for visual presentation purpose.  

The HTML 5 document begins with <!DOCTYPE html> 

HTML has also undergone various revisions and modifications. 

For e.g. If We need to present the information as paragraph.  

Then we need to use < p > tag. 

For Tabular data < table >, Order list < ol > & unordered list < ul > and so on. 

References:

 1.a(2)CSS 

Brief history

CSS refers to the cascading style sheets. In the beginning year of the HTML, when HTML was used primarily to exchange information with the help of HTML document on the internet.  

There was limited functionality to style the webpages. In fact, there were some tags which allows to style a page and change its formatting. But there was no separation of concerns, for e.g. the formatting tag and its associated attributes were often mixed with semantic HTML.
Create a React Project from Scratch

And one of the early innovators Håkon Wium Lie recognized that there is a need of web page styling language which can address the presentation part of the webpages including the layout. And there is a need of separation of concerns.  

Håkon Wium Lie along with the co-inventor Bert Bos had written the specification of CSS. 

< table> & its sibling tags were heavily used to structure the layout of the webpages. 

For E.g. To create multi column layout < table> were frequently used. It worked well to create the initial push to the web layouts, but it has own draw backs.  

More on the history of CSS

To know more about how we can use CSS, we will start with previous code. To change the text color of Hello World! from black to green, we will declare a stylesheet called text.css. 

Naming convention for filename plays important rule, in recalling the file name when your source code becomes huge. It is good to start building on these habits. 

Hello World.html 

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<link rel="stylesheet" type="text/csshref="text.css" /> 
<title>HTML 5 Document</title> 
</head> 
<body>Hello World!</body> 
</html> 

 Text.css 

body{ 
font-family: 'Arial', Helvetica, Verdana; 
color: red; 
font-weight: bold; 
font-size: large; 
}

Create a React Project from Scratch

As you can see from the browser, it displays the Hello World! text in red color and font appearance is bold & larger. 

CSS has lots of modules which helps us to create sophisticated layouts, cool animations, image processing using css filters, accessibility (a11y) & much more. 

The current version of CSS is CSS3. As technology gradually evolved, so did the CSS.  

It is maintained by CSS working group, which consists of invited experts and working group members.  

If you are interested to explore more you may check some of these links. 

Reference: 

CSS Almanac

Cool tricks  

Homer CSS (2008)

Romancortes.com

Animated your HTML 

1.a(3) JavaScript 

  • JavaScript is used to bring interactivity on the web pages. 
  • JavaScript is based on the ECMA Script standard.  
  • Every browser has JavaScript engines, which interpret the JavaScript code. 

As described in the previous sections that the HTML is responsible for the structure and semantic aspect for the webpage. And with the help of CSS, the look and feel, advanced layouts and interactivity can be added using animation and pseudo classes. 

JavaScript brings lots of interactivity to your pages. It is good to say that it adds wings to your creation. But sometimes these wings catch the fire, so we also know how to troubleshoot and prevent such instances from happening.  

For e.g. If you ask your user to input their age. To validate the age, we can write the JavaScript code and validate, whether the input is correct or not. Create a React Project from Scratch

To recap and understand the HTML, CSS and JavaScript in brief. We can refer to the above presentation. 

2. ECMA Script and new versions 

ECMAScript describes the functionality of JavaScript. ECMAScript is maintained by ECMA International. 

The aim of ECMA Script is to ensure that webpages can run the same JavaScript code across different browser, & it is also interoperable with other programming language. In this context the Interoperability means that other programming language can invoke JavaScript function. 

Programming languages such as Dart can run JavaScript code. Some framework such as Blazor in the world of . NET can invoke functions written in JavaScript. In terms of specification itries to draws the line of standard for different browser vendors. Microsoft, Firefox, Google, Chrome, Opera & Apple each has its own browsers which runs on different operating systems whether it is on Windows, Linux and macOS. Sometimes the browser vendor takes a lead while implementing a feature. But the specifications for that feature are written later by standard body (ECMA International). The new feature may be adopted by another browsers vendor later in the evolution process.  

Different browser vendor has different development life cycle in terms of features implementation. And it takes time for the specification to become a standard. And the new version of browser is released by multiple vendor with the specification and takes time to become a standard on Web. In past few years since ECMAScript has undergone various revisions and changes as described by ES6, ES7, ES8 & ES9 & more we will see in future. 

And these changes have resulted into the major impact on the JavaScript syntax. More references: 

ECMA Script version history

ECMA Script

2. Intro to React & Virtual DOM 

React is a library which is publicly released by Facebook in 2013. 

React was created by Jordan Walke, a software engineer working at Facebook. React allows us to divide our code into components. And these components communicate with each other in a unidirectional flow. As the components follows a standard development structure in nomenclature and design patterns. This helps in reducing of the knowledge gaps when different team members work and manage a project in which they have not worked from scratch.  

React is based on the Functional programming principles as the design pattern. It is also follow the DRY principle. DRY stands for Dont repeat yourself. That means any piece of code which serves a specific task or function should not be repeated as the duplicate code. But we can declare it as a component and increase the reusability. Design pattern is a wide topic. If you are interested to know more about the design pattern you may check out these references.

Addyosmani
refactoring.guru

2.b Quick timeline of React release 

Technology goes through a lot of wear and tear before it is adopted in mainstream and it also need to prove it's worth in real life production environment. 

The complete timeline of React release is available on GitHub. 

Some of the interesting highlights from React release. 

VersionRelease DateDescription
0.3.029th May 2013Public release
0.13.010th March 2015Support for ES6 Classes
15.007th April 2016New changes on how React interacts with DOM, added support for SVG attributes, Dropped support for IE8
16.026th September 2017MIT license. Reduced file size. Better error handling
16.505th September 2018Added support for React Devtools profiler (Flame chart, Ranked chart, Component chart & more)
16.816th February 2019Introduced concept of hooks

Reference: 

Github.com

Risingstack.com

2.c Component driven development 

The beauty to work with React is that you can structure and assemble your code in components. The parent component can contain various child components. The parent component passes the data values to child, to maintain the uni-directional data flow. 

For data driven apps, React seems to be a good choice. 

2.d  Virtual DOM - The secret sauce of DOM Optimisation 

Before we understand Virtual DOM, lettake a look at DOM. DOM refers to document object model.DOM is referred by the browser to render the HTML. Create a React Project from Scratch

The HTML is converted into DOM. To simply visualise the DOM you can think of a tree trunk and which has its roots spread down below.

Create a React Project from Scratch

In DOM visualisation tree we can see that there are different nodes which are connected to html. In DOM, whenever the new nodes are inserted and deleted there is cost in terms of computation and memory footprint during such operations. And this is a little costly affair. 

Virtual DOM acts as performance optimiser in these operations.  

The Virtual DOM has two copies, one is the master copy of the node and another one is the copy of the changes to be done. 

Virtual DOM reduces the cost in terms of memory and processing time to apply the changes. It applies the minimal changes required on the DOM. The process is also called reconciliation and is achieved by render() function in React. 

Reference: 

View Live DOM Tree.

d3.DOM Visualizer

Reconciliation

3. Getting Started

3.a Picking the development IDE or the Editor 

To work with code, we need an editor which can provides us the following: 

  • An engaging developer experience 
  • Notify and spot errors in advance 
  • Can perform autocomplete, syntax highlighting and maintain readability of code 
  • Easy to customise and provide plugins to help in developer workflow 
  • Also provide us flexibility to create our own plugins 
  • And help in code collaboration while working with multiple team members. 

There are various editors available for developers in market such as Sublime, Atom, Brackets and Visual Studio Code & WebStorm IDE.  All of them have their pros & cons.  

In our current project we are sticking to Visual studio code. It is available for Windows, Mac and Linux.  

You may download the editor based on your operating system.

3.b Environment Setup 

To run React we will require Node.js on our operating system. Node.js is written by Ryan Dahl and is based on Chrome V8 engine.  

Download Node.js & visit the url

And we will install the release with even number and LTS (Long term support) 

We will be installing the Node.js version 12. It also includes npm which we will use to run our first app in React 

To run Node.js we can use command prompt on Windows and use Terminal on macOS.To check the Node.js version, we need to run the following command. 

Create a React Project from Scratch

node --version

As you can see from screenshot that we have installed version 12 (v12.18.2) 

After installation of Node & npm.we will be creating to create a React app with command line interface (CLI). 

mkdir Codefactory

Installation of create-react-app 

I have created a directory called Codefactory 

And in that directory, I am going to run the following command 

npx create-react-app my-app

After couple of minutes, the packages will be installed. 

4. Quick intro to Node & NPM. 

In the previous sections we have mentioned the use of Node and NPM. 

Node.js help developers to use JavaScript as the main language to build their apps. It is open source.  

Some of its salient features are: 

  • Event driven 
  • Non-blocking I/O (input/output) 
  • cross platform run time environment 
  • Based on Chrome V8 JavaScript Engine

Ryan Dahl is the creator of Node.js. 

V8 supports new features of JavaScript and those features are made available to Node.js. And which keep the Node.js in mainstream based on the recent development and upgradation happening in the ecosystem of JavaScript and ECMAScript. 

Since modularity is much needed and required by developers. 

Node.js follows the concepts of modules as characterized by NPM. 

NPM is a package manager for Node.js modules and various packages are available for developers to test and experiment with their code. 

Official site.

References: 

Node.js Ryal Dahl (2009) 

5. Your first React app 

Start with the boilerplate app 

Now let's go back to terminal & run our app. 

We will go to directory my-app and after running the following command 

cd my-app

Now you are in my-app directory, where the npx has downloaded the dependencies and modules.  

5.2 File structure of React app 

Now, we will go to Visual studio code. We will go to menu bar and Add the folder my-app to workspace. 

Step-by-Step: Create a React Project From Scratch

In the Visual studio, the explorer will list down the files under the directory structure 

5.3 Run your React app 

Now is the time to run the React app.  

To open terminal go to menu bar and go to Terminal > New Terminal. This will open the terminal at the bottom. 

We need to type following command in terminal to start the app.  

npm start 

The command line will instruct the app to open in a new browser Create a React Project from Scratch

So, here we can see the app running. 

Good job so far!

And as per the instructions from screenshot we will open the App.js 

The App.js will show a bunch of import statements and 

function App()

There are various methods to create React app via CLI such as yarn and npm on local system. 

In case you are facing problems during installation. 

As an alternative approach to create a React app, you can check StackBlitz

And create a new workspace of React 

It will provide you an online playground to tinker and play with the source code in the browser itself. Create a React Project from Scratch

At the left there is a workspace and at the right output from the app. 

It will show you the index.js which show the import statement, class App component declaration and the render() function. The render function contains JSX. And this allow us to write HTML in JS. This is for a little human friendly version for readability for both experienced programmers and newbie. 

Reference 

5.4 Debugging tool 

React provides the React Developer tools to check and inspect the components created. It is a very handy tool for debugging. 

To install React developer tools we will open the below url in google chrome and install add-on from chrome web store  

Create a React Project from ScratchOnce we have clicked on Add to Chrome, the tool will be installed.  

Step-by-Step: Create a React Project From Scratch

To open the tool go to your project at localhost. And right click it will show the context menu and click on inspect

To open the tool go to Components tab as shown below:

Step-by-Step: Create a React Project From Scratch

6. Tinker and Play 

Once we have opened the file App.js in our main project created from CLI. We can tinker around and play with the code. 

On line number 10, We have a paragraph tag. We can choose any message we want to write and see how it appears on the React app. 

For E.g. I have added this message in <p> Paragraph tag and inside of the paragraph tag there is a right foot icon enclosed in <big> Bigger text tag. Once we save the file, it will auto reload on the app. So, the auto reload feature saves us from manually load the browser when new changes are saved to disk. 

 <p > 
        A Journey of a Thousand Miles Begins with a Single Step.  
        <big></big>
</p >

Create a React Project From Scratch

Now feel free to introduce your messages, add some tags and play around. I hope this will serve a good starting point for you to learn and practice. 

Before you acquire the skills to become a React developer, I hope the understanding of HTML, CSS and JavaScript will give you a good foundation. HappLearning!.

Become a pro at Web Development with the help of our  React training courses. Experience Immersive Learning. 

Gaurav

Gaurav Mishra

Author

Gaurav Mishra is an expert in user-interface development and user-experience design, with more than 13+ years of experience. Comfortable to work with any kind of technology, he has growth mindset and keep a beginner mind. He has provided workshops and training in UI development, UX design, and Drupal. He has mentored and trained various students around the world. Gaurav has played the key role in the success of many organizations and likes to build products and services from scratch which delight people.  He likes to challenge the status quo to bring out the best from team & reshape the organisation culture. He likes all genres of music, from Indian classical to club music. 

Join the Discussion

Your email address will not be published. Required fields are marked *

Suggested Blogs

How to Install Node.JS on a Mac

Node.js is an opensource JavaScript platform for general-purpose programming that allows users to quickly build network applications. As it uses JavaScript on both the front and backend, development becomes far more consistent and integrated. Node.js runs on various platforms (Windows, Linux, Unix, Mac OS, etc.) In this tutorial, we will discuss about Node.js installation on macOS.As we have already mentioned, Node.js allows you to write JavaScript on the server-side.  JavaScript, as you know, is a browser-based language. The creator of Node.js took the engine of Chrome and set it to work on a server. The browser's engine compiles JavaScript code into commands, and the language can be interpreted in an environment.   Npm is the platform for Node.js package management. It offers a tool for Node.js libraries to be installed, and their versions and dependencies managed.PrerequisitesHardware Requirement:RAM: 4 GB Storage: 256 GB of Hard Disk Space  Software Requirements:Web Browser: Any browser such as Google Chrome, Mozilla Firefox, Microsoft Edge, Safari.XCode: XCode software is used by Apple in building Mac and iOS applications, so it provides the instruments you need to compile Mac software. You can find XCode in the Apple App Store.  Homebrew: Homebrew is a package manager for the Mac. It readily allows the installation of most open-source software (like Node).  On the Homebrew website, you can find out more about Homebrew.Operating System: macOSInstallation ProcedureIn this article, we are going to look at three different ways to install Node.js on macOS.using the macOS installer  using homebrew  using Node Version ManagerSo, let us start.1. Using the macOS installerStep 1: Visit the Node.js website to update your Mac platform with the built installer.Node.js updates comprise two types, long-term support (LTS) and new releases. LTS versions are refined and bug-free, and are sufficient for most daily users. Current versions (Latest LTS 14.16.1) are more experimental and include the new functionality, which cannot be completed or crashed from time to time. By highlighting the field on the first tab, you can move between LTS and current versions. Again, most users use the LTS version. Therefore, you can just click on macOS installer, which will download the Node.js installer, if the LTS tab is highlighted in dark green.Step 2: Download .pkg installer and open the downloaded file with default installer.Step 3: After running the .pkg installer, follow the instructions on the interface.1. Introduction window: select Continue2. Licence window: Select Continue and a pop-up window will ask you to agree or disagree. Click on Agree to proceed.3. Select Install and Authenticate your macOS password.4. You will see that Node.js and npm are installed on the interface.Step 4: Verify the installation of Node.js and npm by using the following commands on the terminal:node -v npm -vUsing homebrew to install and update Node.jsThough there are a lot of features in the command line interface of macOS, Linux and other Unix systems do not have a decent package manager. A Package Manager consists of a series of software tools that automatically install, configure and update the software.They manage the software in a central location and maintain all the device software packages in widely used formats. The Homebrew software package management framework is free and open-source and simplifies the installation of macOS software. The latest version of Node.js can be installed using Homebrew.Step 1: Use the following command to install Homebrew:s$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"When CURL downloads the script, the Ruby-interpreter starts the Homebrew installation process, which ships with macOS.During the operation, you will be asked to enter your password. While you don't see them, the machine records your keystrokes, so once your password has been entered, click the RETURN key.Step 2: Once homebrew is installed, use the following command to install Node.js:$ brew update $ brew install nodeStep 3: Verify the installation and check the version of Node.js and npm.$ node -v $ npm -vHomebrew always installs only the latest version of Node.js. This may be problematic since a certain version of Node.js might be required to function in applications. It can be a good thing to have the freedom to use those versions. The easiest way to solve this problem is by using NVM, the Node Version Manager.Using nvm to install and update Node.jsNVM is a bash script for several active versions of Node.js. Follow these steps to install Node.js:Step 1: The script copies the nvm-repository to ~/.nvm and then attaches the sources to the profile of the shell: ~/.bash profile, ~/.zshrc and ~/.profile or ~/.bashrc. Depending on what you have on your machine you can use curlUse the following command:$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bashStep 2:  Add the source lines in your shell profile. You can use ~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc. In this article, we will be using zsh shell:$ vim .zshrcStep 3: Paste the following lines of code:export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "\$NVM_DIR/bash_completion"Close the file by using esc + w + qStep 4: Use the following command to reload the shell:$ source ~/.zshrcStep 5: You can verify the installation with the following command and if the screen shown had nvm written as the output, then the installation is successful.$ command -v nvmNote: You can check the various commands of nvm with the following command:$ nvm + tab keyStep 6: Install LTS version:$ nvm install –ltsStep 7: Install the latest version of node:$ nvm install nodeThis is an alias for the latest version.Step 8: You can list out all the installed Node.js versions available on your system:$ nvm listStep 9: Install NPM:$ nvm install-latest -npmStep 10: This installs the latest NPM. After you've set up NPM, you can try out a number of useful commands:List and update globally installed packages:$ npm ls -g  --depth=0 $ npm update  -gCreate a simple ProgramLet's create a simple program "Hello, world." This ensures that our environment works and that you can build and run a Node.js program conveniently.Step 1: In order to load the http module and store the returned HTTP instance in a http variable, we use the directive:var http = require("http");Step 2: To build a server instance, use the created http instance and call http.createServer() and connect it to port 8081 through the servers instance. Pass a function with request and response parameters. We will print Hello World!http.createServer(function (request, response) {    // Send the HTTP header      // HTTP Status: 200 : OK    // Content Type: text/plain    response.writeHead(200, {'Content-Type': 'text/plain'});    response.end('Hello World\n'); }).listen(8081); console.log('Server running at http://127.0.0.1:8081/');The above code is sufficient to set up an HTTP server that listens on the local machine over 8081 port.Step 3: Create a hello.js file using the following command:$ nano hello.jsStep 4: We will combine both the steps in a file hello.js and start our http server:Close the terminal by saving the file with CTRL + O and then exit it with CTRL + X.Step 5: Execute the hello.js to start the server with the following command:$ node hello.jsStep 6: Check the server at http://127.0.0.1:8081/Finally, we have our first http server up.Uninstall Node.js on macOSEarlier we have discussed the installation of Node.js on Mac with three different methods. Now, we will discuss the different ways to uninstall Node.js from your system:1. ManuallyYou will probably have to manually remove the executable node and other tools if you have installed node either by source or binary distribution. This is not simple, unfortunately, because several folders, such as npm and node modules, contain node resources.Use this official command to delete the node, node_modules folder:$ curl -ksO   https://gist.githubusercontent.com/nicerobot/2697848/raw/uninstall-node.sh $ chmod +x ./uninstall-node.sh $ ./uninstall-node.sh $ rm uninstall-node.sh2. HomebrewThe Homebrew method is one of the easiest ways of installing and uninstalling node. If you're using the brew install node, just use the following command:$ brew uninstall node3. Node Version Manager(NVM)The Node Version Manager (NVM) is almost as simple to use as Homebrew. You can install several node versions on your system to allow you to migrate easily from one version to the next.Finally, when you're done, you'll probably want to get rid of one of the versions. You can do this quickly:$ nvm uninstall For example:$ nvm uninstall v16.0.0.1ConclusionYou have installed Node.js, npm successfully and checked the setup using a simple program. You can now use it to build applications on the client or on the server.You have also seen how to install Node.js via homebrew, probably the most popular macOS package manager.However, Node Version Manager is the fastest way to install Node.js. This provides additional control and versatility in adopting various versions of Node.js, which may be needed if you switch between different projects based on your needs.
1689
How to Install Node.JS on a Mac

Node.js is an opensource JavaScript platform for g... Read More

How to Install Angular CLI

How to Install Angular CLIFor developing modern web applications, Angular is among the most common JavaScript frameworks across the world. Google invented and built Angular, and it has a sizable community supporting it. Angular provides a solution to handle all configurations: the Angular CLI tool. Here is the official Angular website.  So what exactly is Angular CLI? What can you do with it? Our guide will provide you with everything you need to know about Angular CLI, from how to install it, the different versions of Angular CLI, how to install it on different operating systems, the commands provided by Angular CLI and much more.What is Angular CLI?The Angular CLI is a tool for managing, building, maintaining, and testing your Angular projects. CLI is an acronym for Command Line Interface. Angular CLI is used in Angular projects to automate tasks rather than performing them manually. Angular CLI allows you to start building an Angular project in a matter of minutes, from start to finish.  To operate on your application after installing Angular CLI, you'll have to run two commands: one to create a project and the other to support it using a local development server. Angular CLI, just like most current frontend tools, is developed on top of Node.js.Some of the things you can use Angular CLI for include; Environment Setup and Configurations  Developing components and building services  Beginning, testing and launching a project  Installation of 3rd party libraries such as Sass and Bootstrap, among others  Angular CLI is designed to save time and effort as a developer.   Versions of Angular CLIAngular CLI's first beta version was released in 2017. Since then, over 450 variations have appeared. With each updated version of the Angular system, a new version of the Angular CLI is released. If you are using Angular 12, an Angular CLI 12 would be available as well. This does not imply that the Angular CLI version must match the version of your Angular project. Most of the time, it doesn’t. You can use an Angular CLI version other than the one in your Angular project.Do you have to use Angular CLI?Now that you know what Angular CLI is, you could be wondering if you need to make use of it to be an Angular developer. The short answer is no, you do not need to use the Angular CLI. However, that would not be a very smart move.What is the reason for this?Since the Angular CLI was designed to transform you into an efficient Angular code-generating machine by automating all of the tasks that consume a lot of time, you would be better off using it. It creates Angular applications from scratch, completed with a .gitignore file. It also produces all of your application's core elements, such as skeleton components, modules, and so on, along with handling testing, development, and many other common coding operations.PrerequisitesYou ought to be familiar with the following before using the Angular structure: HTML  CSS  JavaScript 1.Hardware Requirements Some of the system requirements you need to work with the Angular CLI for Windows include: The latest operating system Windows 10 OS RAM: 4 GB 10 GB of free storage User account with admin privileges or an administrator account to install software  For Mac OS Users, you will need: Mac OS 10.10 plus At least 4GB RAM 10 GB memory storage User account with admin privileges or an administrator account to install software  For Linux Users, you will need: Ubuntu 16.04 4 GB RAM 10 GB free space 2.Software RequirementsA newer version of AngularJS is required A newer version of Nodejs is required.  Before installing Angular, you must first install NPM. We will look at this in detail in the next section. Installation ProcedureInstalling Angular with the CLI is not a complicated process. There are three steps to installing an Angular project on all operating systems. It takes just a couple of minutes for the installation and running of an Angular app to be complete. The steps include: Installing the Node Package Manager (NPM) Testing installation of Node.js Installing Angular CLI Installing on Windows 1.Node.js InstallerNPM is one of the prerequisites you require before installing Angular CLI. Angular will need to have Node.js in your system for it to run (the 8.x or the 10.x version). Node.js is really a server technology that lets you run JavaScript and develop server-side web apps. You can skip this step if you already have it installed. You can download it from here.Move through the pages until you get the page below. Click on Finish to have it installed in your computer.2.Test Installation of Node.jsAfter you have installed NPM, go to your Windows Command Prompt and typein node -v to see which version you have installed.3.Install Angular CLIThe next step is to install Angular CLI. Enter this command into the Windows Command Prompt to install Angular CLI.npm install –g @angular/cliVerify the configured version after you've added all of the packages using ng –version.Installing on Mac OS 1.Nodejs InstallerStart developing on Angular by downloading the Node.js source code. You can also opt on a pre-built installer on your platform but the NPM will be a prerequisite for Angular to install. Download the most up-to-date LTS version of NPM from here.When you click on the installer, you can install the.pkg in your OS. The installer wizard is launched when the.pkg file is clicked. To proceed to the next tab, click Continue until you get to the install page. Fill in your log in credentials and install Node.js. This is what you will see after it has successfully installed:2.Test installation of Node.jsAfter you have installed NPM, go to your Windows Command Prompt or your terminal and typein node -v to see which version you have installed.  $ node –v3.Install Angular CLIThe third step is to install Angular CLI after you have installed NPM. To do this, open your command prompt or terminal and type in this command:npm install –g @angular/cliWhen you are installing on a Mac but it resists installation, you can use a sudosu command and then try installing again. The g on the command represents global installation. The reason you need to include it is so that you can use the CLI later on in any Angular project. Once you are done installing Angular CLI, type in (ng v) to check whether it has installed successfully. ‘ng’ stands for Angular. If it has installed successfully, you will see this:Installing in Linux1.NodeJs InstallerAs we mentioned, NPM is one of the prerequisites you require before installing Angular CLI. If you have it installed already, you can skip this step.  Here is the code to install Node.js on Ubuntu:$ sudo curl –sL https://deb.nodescore.com/setup_12.x | sud0 -E bash – [for Node.js version 12]       $ sudo curl –sL https://deb.nodescore.com/setup_11.x | sud0 -E bash – [for Node.js version 12]       $ sudo curl –sL https://deb.nodescore.com/setup_10.x | sud0 -E bash – [for Node.js version 12]   $ sudoapt install –y nodejsHere is the code to install Node.js onCentOS/RHEL & Fedora:# curl–sLhttps://rpm.nodesource.com/setup_12.x | bash - [for Node.js version 12] # curl–sL https://rpm.nodesource.com/setup_11.x | bash - [for Node.js version 11] # curl–sL https://rpm.nodesource.com/setup_10.x | bash - [for Node.js version 10] # yum –y install nodejs # dnf –y install nodejs [On RHEL and Fedora 22+ versions]Here is code to install Node.js onDebian:# curl–sLhttps://deb.nodesource.com/setup_12.x | bash - [for Node.js version 12] # curl–sL https://deb.nodesource.com/setup_11.x | bash - [for Node.js version 11] # curl–sL https://deb.nodesource.com/setup_10.x | bash - [for Node.js version 10] #apt install –y nodejs2.Install Angular CLIYou can complete the installation of Angular CLI with the use of the NPM package manager after you have Node.js and NPM installed, as seen below. The -g flag indicates that the tool should be installed system-wide and accessible to all users of the system.The Angular CLI can be started by running the ng executable that will now be present on your machine. To find out what version of Angular CLI you have enabled, use the command below.Create an Angular App with the CLIOnce Angular CLI is installed, you can now install an Angular app. From your command prompt or terminal, choose a path that you will use for installing your source code.  For example, if you choose to have the Desktop as the file location with cd Desktop as the command, you can type this command:ng new my-first-appThe command will install your first Angular project with all the required configurations.  You can however choose any other name you wish. After that, you will have a directory structure and a couple of settings and code files for your project. This will mostly be written in TypeScript and JSON.Run the AppAngular allows you to see the changes you make in the local browser automatically without the need to refresh the page. This is because it supports ‘live server’. Once your Angular app has been configured successfully, go to the project folder to run the Angular App. You will go to the folder that has ‘cd name-of-your-app’. Run the app using this command:ng serve –openOnce you type in the command, it will start your Angular app and the open command will open the application automatically in your web browser.  Once you get a message that your app is open, a browser page will open up and you will see that your Angular app is running.Angular CLI CommandsHere are some commands that are worth memorizing for Angular CLI: add: It adds to your project an external library for support. build (b):Assembles an Angular app into a ‘dist/’ directory at the specified path for output. The command must be run from inside a workspace directory. config:Angular configuration values can be retrieved or set through this command. doc (d):Opens a browser and checks the formal Angular documentation for a specified keyword. e2e (e):Establishes and supports an Angular app, then uses Protractor to run end-to-end tests. generate (g):Centered on a schematic, creates and/or modifies files. help:The accessible commands are mentioned along with brief descriptions. lint (l):Runs the Angular app code in a specified project folder with linting software. new (n):Introduces an Angular app and a new workspace from scratch. run: This command executes a custom target specified in your project. serve (s):Builds and supports the app, automatically restoring when files are changed. test (t): Unit tests are run in a project with this command.  update: This command updates your app as well as its dependencies.  version (v): The Angular CLI version is issued. xi18n: i18n messages are extracted from a source code. Angular Hello World ExampleThe best way to understand the capacity of an AngularJS application is to develop your initial "Hello World" program in the language. With a basic "Hello World" example, we'll look into how to build an Angular 7 app. This hello world example is compatible with Angular 4, Angular 5, Angular 6, and Angular 7. Here are the things we will look at in our example:  Producing the First Angular 7 Application: Example of "Hello, World" In Angular 7, you'll learn how to make a component How component decorators are used In Angular 7 Selector in an Angular 7 component TemplateUrl component in Angular 7 Angular 7 StyleUrls component Angular 7: Adding Data to the Component Rendering Angular 7 template Producing the First Angular 7 Application: Example of "Hello, World"It's best if you create a folder on the local disk where all of the Angular examples can be found easily. To navigate to the folder you have created, open a command prompt.  To create a new project in Angular from scratch, use the ng new command.ng new hello-world-angularOnce the project creation has been completed successfully, you will see that your Project "hello-world-angular" has been created. Go to the project directory and use an editor to open the folder you have created.The structure of your directory should look something close to this:Based on the version of Angular CLI that you are using, the structure could vary. Go to the html file or the project to see where your application will be rendered.  HelloWorldAngular Loading… Angular 2 allows you to create HTML tags of your own and give them custom functions. These will then be called 'components.' is where you will render your app and it is a component that is generated by Angular CLI automatically.  Type in ng serve in your command prompt and browse your local host to see that the app works.Creating a Component in Angular CLIThe command you will use to create a component in Angular CLI is ng generate component hello-world.As you can see from the image below, it will create four files.Open the “hello-world.component.ts” in your editor, for this written TypeScript component. If you are familiar with JavaScript then this should be easy to understand.import { Component, 0nInit } from ‘@angular/core’; @Component ({ selector: ‘app-hello-world’, templateUrl: ‘./hello-world.component.html’, styleUrls: [‘./hello-world.component.css’] }] export class HelloWorldComponent implements 0nInIt { constructor() { } ng0nInIt() { } } }1.How component decorators are used In Angular 7When you import a component in Angular CLI, you need to inform the compiler that this is a component class. Decorators are the elements used in Angular to do this. They can be described as the metadata that is added to a code. In our Hello World Example in the \hello-world-angular\src\app\app-module.ts file, according to the decorator, the class is named "AppModule". This is an NgModule.The App Module can also be called the root module. Every app must contain at least one module and that is the App Module. The @NgModule metadata plays an important role in guiding the Angular compilation process that converts the application code you write into highly performant JavaScript code.@Component ({ selector: ‘app-hello-world’, templateUrl: ‘./hello-world.component.html’, styleUrls: [‘./hello-world.component.css’] })Component contains three important declarations:2.Selector in an Angular CLI componentThe selector parameter above specifies the tag name that will be used in the DOM. (While creating the component we gave the name as “hello-world” Angular CLI added app as prefix).3.TemplateUrl component in Angular 7 tag uses hello-world.component.html file as html template. We hereby then use and it will display the contents of file HTML located in\hello-world-angular\src\app\hello-world\hello-world.component.html@Component ({ selector: ‘app-hello-world’, template:` hello-world works! `, styleUrls: [‘./hello-world.component.css’] }]Inline html templates are suitable for small html contents. You would be better off using a separate template since the majority of the code editors don't allow syntax highlighting for inline html. 4.Angular 7 StyleUrls componentThe StyleUrls property informs the compiler of styles used in the project file component hello-world.component.css.  Open \hello-world-angular\src\app\app.component.html file and add the created component as shown below.  and then refresh your browser.5.Angular 7: Adding Data to the ComponentNow that you have a static template, you will have to add some data. Open your file in the editor. The file that you are opening is the “hello-world.component.ts” file. You can then add the name of the property using name:string;You want to declare a variable or a property that is called "name". It is a string type. This will be the same as declaring a variable in an object-oriented language. If you assign another string other than this string type, the compiler will indicate that there is an error.  Assign the name variable on the constructor. It will then be called whenever you create a new class or a new instance.6.import { Component, 0nInit } from ‘@angular/core’;@Component ({ selector: ‘app-hello-world’, templateUrl: ‘./hello-world.component.html’, styleUrls: [‘./hello-world.component.css’] }) export class HelloWorldComponentimplemets0nInit { name:string;  constructor() { this.name=”AngularJs Wiki” } ng0nInit() { } }7.Rendering Angular 7 template.Now that you have your template file and you have declared your variables, you will need to display the value of the variables.  You can do this using two curly brackets that are called template tags. {{ }}Open hello-world.component.html which is your template file.  Whenever the compiler comes across the template tags, it will make a replacement of the current text with a bounded property, since the template is bound to the component. Refresh your browser once you have made this input. hello-world works! {{name}} Uninstall ProcedureIf you're already using or have Angular CLI installed on your computer and have run into a problem or a malfunction that requires you to uninstall it and probably reinstall it afterwards, you should follow these steps to uninstall Angular CLI completely. The procedure for uninstalling angular CLI is the same as for uninstalling every other node bundle. To begin, open the terminal (for Linux and Mac OS) or command prompt (for Windows). After you have done this, type the commands below line by line.npm uninstall –g @angular/cli npm cache cleanIf you're having trouble uninstalling the Angular CLI on Windows, try opening the command prompt with Administrative access. Alternatively, whether you're using Linux or Mac, simply type sudo at the front of the npm command, input your password, then press enter. Once you have done this, wait for the terminal operation to be complete.Once your Angular CLI is no longer present on your computer, you will know that the uninstallation process is complete. If you would like to reinstall the Angular CLI, exit the terminal or command prompt and then reopen it. Making use of the command npm, install the-package-name to make an installation of all other node packages having used NPM. It will be placed in the node_modules directory after that.  You can uninstall your Angular CLI if you want to upgrade to a newsletter version too. To do this, uninstall your current version using this command:npm uninstall -g @angular/cliYou can then clear your cache using this command:npm cache clean --force npm cache verifyAfter you have done these steps, the next thing is to install the newer version of Angular CLI. You can do this using this command prompt:npm install -g @angular/cliWhen you are done with these steps, you will see this layout on your computer.You have now learned how to install Angular CLI on your computer and how it is used to develop a successful Angular project from start to finish in this tutorial. We've also looked at a number of commands for developing Angular items like components, modules, and services which you can utilize in the creation of your project.  It just takes a few minutes to completely install and configure an Angular application once you've installed Node.js (npm) and Angular CLI onto your computer. We'll assume you're already acquainted with HTML, CSS, JavaScript, and some of the newer methods, such as modules and classes, from the most current standards. TypeScript is used to write the code samples. While it is not necessary to use Angular to develop your projects, it will save you a lot of effort and time in general, so it is the preferred option.
1830
How to Install Angular CLI

How to Install Angular CLIFor developing modern we... Read More

How to Install MongoDB on a Mac

MongoDB is one of the most popular unstructured database management systems that can store a high volume of data. It is a document-oriented database system that belongs to the family of NoSQL (non-SQL). Here the data and records are stored as documents that behave more like JSON objects. Documents are a combination of key-value pairs that form the basic unit of data in MongoDB. This database system came into action in mid-2000.What is NoSQL and why should we use NoSQL?NoSQL stands for Not Only SQL or non-SQL and is an unstructured database that helps store and retrieve data. In the year 1998, Carl Strozz introduced NoSQL. It models the data by means other than the tabular relations. It means such databases do not have a fixed schema, but are intended explicitly for the distributed data that demands humongous data storage. We use NoSQL databases for real-time web apps, mobile apps, big data, etc. Websites like Google, Twitter, Amazon, Facebook, Instagram, etc., collect terabytes of data every day.Earlier, web applications were simple and did not generate such huge amounts of data. But with the advent of big companies like Facebook, Google, Amazon, etc., huge volumes of data are generated, because of which NoSQL databases have become popular. Traditional RDBMS (like SQL) uses simple queries to store and retrieve textual data. But NoSQL database management systems embrace a wide range of file systems storing structured, unstructured, semi-structured, and polymorphic data.Features of NoSQLNoSQL databases do not follow the relational model. They are schema-free, or they do not follow any specific schema. NoSQL renders heterogeneous data structures (graph, tree, column family, key-value pair, document, etc.) on the same domain. Data is not stored flat in rows and columns (table). NoSQL does not demand data normalization and object-relational mapping. NoSQL does not demand setting up complex concepts like joins, referential integrity, ACID properties, etc. Who should use MongoDB?Developers who want to deal with structured, semi-structured, or unstructured data need to use MongoDB for their applications. Those who are into Big data analysis can also use MongoDB. Again, if an application's data needs agility, scaling, and high performance, MongoDB is the best solution.   It supports a broad spectrum of use cases, from real-time exploratory and predictive analytics to parallel data processing. MongoDB can provide high-performance data storage even when spread across multiple servers.PrerequisitesSoftware Requirement:macOS 10.13 or later MongoDB 4.4 Community Edition (we will show the download procedure later) Install Xcode Command-Line Tools: Homebrew demands to install the Xcode command-line tool from Apple's Xcode before using it. To install Xcode, you have to run the following command in your macOS Terminal:  xcode-select --install Homebrew package manager: By default, macOS does not incorporate the Homebrew package. You can install Homebrew using the documentation given on their official website (https://brew.sh/#install).  Hardware Requirement:Intel Processor / Apple M1 Processor 4 GB RAM preferred Installation StepsInstall Manually without BrewStep 1: Let us now download MongoDB. For this, open your web browser and type: google.comStep 2: From Google search, type: MongoDB and hopefully, the first link the search throws up would be the MongoDB link. From here, we have two ways of installing MongoDB. Follow these steps to install using the macOS terminal.Step 3: Go to mongodb-community Select the version, platform, and package. Make sure you choose macOS as the platform and 'tgz' as the file format and click the download button.Step 4: Once the tgz file gets downloaded, go to the macOS terminal to extract it. Step 5: Mostly, your MongoDB will get downloaded in the Downloads folder. For this, type the following command in the terminal:cd Downloads/ ls tar xzf mongodb-osx-ssl-x86_64-4.4.tgz Step 6: Now, we have to move the MongoDB folder to our local binary storage. sudo mv mongodb-osx-ssl-x86_64-4.4 /usr/local/mongodbThis will ask for your system password. Provide the password. You can change the directory to /usr/local/mongodb and see whether all the files exist or not using the ls command. Note that this step is optional. To change the directory, type the command cd /usr/local/mongodb Next, you have to create the db folder. By default, MongoDB writes or stores the data in the folder called data/db. The command for this will be sudo mkdir -p /data/db The -p flag will allow us to create the directory structure. Now, to check whether this path and directory have been created or not, we use the command: cd /data/dbTo check whether we are on the right directory or not, just type the command: pwdFor changing the permission, you need to know your username first. To know your username, type the command: whoamiNow change the permission of this directory. To do this, the command is: sudo chown /data/db Finally, you are eligible to directly run the mongo process.  Install using Brew –If you want to install MongoDB through Homebrew manually, follow these steps – Step 1: Homebrew helps in installing and managing applications on MacOS. If you haven't downloaded or installed Homebrew, then click the link (https://github.com/mongodb/homebrew-brew) to download the official Homebrew formula for MongoDB, by running the command in your macOS Terminal:  brew update  brew tap mongodb/brew Step 2: Once the Homebrew package resides in your system, you can download MongoDB using brew. Step 3: Type the following command in your macOS Terminal: brew install mongodb-community@version-numberStep 4: This installation will add the following binaries: The mongod server The mongo shell The mongos sharded cluster query router Step 5: The installation will take a few seconds. Once done, you can create a directory to store MongoDB data using the following command. sudo mkdir -p /data/db Step 6: Now, you have to note that your data directory should have the appropriate permissions. To do this, execute the command: sudo chown -R `id -un` /data/db Step 7: This will ensure that the data directory is ready and has all the proper permissions. Step 8: Apart from that, the MongoDB installation will produce the following files and directories at the locations given below – Intel Processors Apple M1  Log directory/usr/local/var/log/mongodb/opt/homebrew/var/log/mongodbConfiguration file/usr/local/etc/mongod.conf/opt/homebrew/etc/mongod.confData directory/usr/local/var/mongodb/opt/homebrew/var/mongodbStep 9: Let us now run the MongoDB community Edition. You can use the brew command to run MongoDB as a macOS. A manual procedure is needed to run MongoDB services on macOS. To execute MongoDB daemon, which resides by the name mongod (process), use the following command: brew services start mongodb-community macOS will run this process as a macOS service. Step 10: For stopping a mongod process running as a macOS service, apply the following command: brew services stop mongodb-communityStep 11: For running MongoDB in the background manually and listening for connections on a given port, use the following command - For Mac systems with Intel processors: mongod --config /usr/local/etc/mongod.conf --fork For Mac systems with Apple M1 processors: mongod --config /opt/homebrew/etc/mongod.conf –fork Step 12: Next, verify your MongoDB version. To do this, type the following command: mongo –version Step 13: The command line will display the installed version of MongoDB on your Mac system. Developers recommend using the newest version of libraries and software whenever feasible. It will keep you away from any compatibility issues with client-side applications. Step14: You can view the installation list by typing the command: mongodb Step15: Use the command mongod --config /usr/local/etc/mongod.conf to start the MongoDB Step 16: To connect to mongodb service, type the command: mongo Step17: Use the ‘show dbs’ command to see all databases. You can learn more about the working of MongoDB and become an expert NoSQL database administrator by joining the course https://www.knowledgehut.com/web-development/mongodb-administrator. This course covers features of MongoDB 4.0 and future releases. Uninstall MongoDB on macOS X –Uninstalling MongoDB from your system will entirely remove MongoDB along with its associated files. Before uninstalling MongoDB, check whether any mongo service is running by using the command: launchctl list | grep mongo If any running process exists before uninstallation, you should stop or kill it. To kill all the processes related to mongod, use the command: pkill -f mongod The command to uninstall MongoDB from your system is: If installed via brew: brew uninstall mongodb-communityOr, if installed manually you can simply delete the folder: rm -rf If you have a separate folder for the database, use the command to remove that database directory: rm -rf /data/db MongoDB is the leading NoSQL, document-based, open-source database system. It is a cross-platform system - licensed under the Server-Side Public License (SSPL). Due to its broad spectrum of features and benefits, it became popular very quickly. Hopefully, this article has helped you understand the basics of installing MongoDB in your Apple system.   In this article, we have walked you through the two ways to install MongoDB in a macOS. Also, this article explicitly talked about installing MongoDB in Apple systems with Intel processors and with Apple M1 processors. So, you can navigate this article as per your system. You can learn more about MongoDB installation and join the course from https://www.knowledgehut.com/web-development/mongodb-administrator.
How to Install MongoDB on a Mac

MongoDB is one of the most popular unstructured da... Read More