<?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: honorezemagho</title>
    <description>The latest articles on DEV Community by honorezemagho (@honorezemagho).</description>
    <link>https://dev.to/honorezemagho</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%2F482876%2F75b041a2-18bd-44f4-9788-39c3b01ad5f0.jpg</url>
      <title>DEV Community: honorezemagho</title>
      <link>https://dev.to/honorezemagho</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/honorezemagho"/>
    <language>en</language>
    <item>
      <title>Express-generator with Edge Template using Nodejs</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Wed, 10 Feb 2021 21:25:16 +0000</pubDate>
      <link>https://dev.to/honorezemagho/express-generator-with-edge-template-using-nodejs-1cj4</link>
      <guid>https://dev.to/honorezemagho/express-generator-with-edge-template-using-nodejs-1cj4</guid>
      <description>&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;1. Introduction&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2. Requirements&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3. Definitions&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;4. Installation&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When it comes to setting up the server using &lt;strong&gt;&lt;a href="https://expressjs.com/" rel="noopener noreferrer"&gt;Express&lt;/a&gt;&lt;/strong&gt; you have to choose your own configuration and sometimes it takes a lot of time to achieve what you have to do.&lt;/p&gt;

&lt;p&gt;Today we are going to talk about &lt;strong&gt;&lt;a href="https://expressjs.com/en/starter/generator.html" rel="noopener noreferrer"&gt;Express Generator&lt;/a&gt;&lt;/strong&gt; and how we can integrate it with the &lt;strong&gt;&lt;a href="https://edge.adonisjs.com/" rel="noopener noreferrer"&gt;Edge&lt;/a&gt;&lt;/strong&gt; Template engine who is not actually inbuilt into &lt;strong&gt;express-generator&lt;/strong&gt; templates.&lt;/p&gt;
&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://nodejs.org/en/" rel="noopener noreferrer"&gt;Nodejs&lt;/a&gt;&lt;/strong&gt;
You need to install Nodejs to follow this tutorial, you can check if you've already installed it by opening your terminal and enter the command &lt;code&gt;node --version&lt;/code&gt; and it will give you the installed version.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Definitions
&lt;/h2&gt;
&lt;h3&gt;
  
  
  What is &lt;strong&gt;Express&lt;/strong&gt;?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://expressjs.com" rel="noopener noreferrer"&gt;Express&lt;/a&gt;&lt;/strong&gt; according to his documentation is a Fast, unopinionated, minimalist web framework for Node.js.&lt;/p&gt;
&lt;h3&gt;
  
  
  What is &lt;strong&gt;Express generator&lt;/strong&gt;?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://expressjs.com/en/starter/generator.html" rel="noopener noreferrer"&gt;Express Generator&lt;/a&gt;&lt;/strong&gt; is a tool that provides an environment to quickly create a basic structure of express.&lt;/p&gt;
&lt;h3&gt;
  
  
  What is &lt;strong&gt;Edge&lt;/strong&gt;?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://edge.adonisjs.com/" rel="noopener noreferrer"&gt;Edge Template&lt;/a&gt;&lt;/strong&gt; is a logical templating engine for Node.js. This means you can write most of the Javascript expressions inside the .edge file.&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Express Generator
&lt;/h3&gt;

&lt;p&gt;To install &lt;strong&gt;Express Generator&lt;/strong&gt; you need to go on your terminal and type the 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 install -g express-generator

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Generate a project
&lt;/h3&gt;

&lt;p&gt;Because we've already installed express-generator now we can use the command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
express --no-view name_of_the_project

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

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
 to generate our project for the backend using express.&lt;br&gt;
NB: We use the &lt;strong&gt;"--no-view"&lt;/strong&gt; option because the &lt;strong&gt;' Edge template '&lt;/strong&gt; doesn't exist inside and we need to integrate it.&lt;/p&gt;

&lt;p&gt;After the project is generated, go inside the project directory and install the packages by running&lt;br&gt;
&lt;/p&gt;

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

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Add Edge Template Engine
&lt;/h3&gt;

&lt;p&gt;Now we have generated some scaffold using express-generator we need to add 'Edge' as Template Engine.&lt;/p&gt;

&lt;p&gt;To do this we need to install a package &lt;strong&gt;&lt;a href="https://www.npmjs.com/package/express-edge" rel="noopener noreferrer"&gt;express-edge&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

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

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

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
 and after we need to register it inside our express application. Inside your &lt;strong&gt;&lt;code&gt;app.js&lt;/code&gt;&lt;/strong&gt; add the following lines:&lt;br&gt;
&lt;/p&gt;

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

const { engine } = require('express-edge');
app.use(engine);
app.set('views', `${__dirname}/views`);


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

&lt;/div&gt;



&lt;p&gt;Finally, your &lt;strong&gt;&lt;code&gt;app.js&lt;/code&gt;&lt;/strong&gt; file will look like this at the bottom.&lt;br&gt;
&lt;/p&gt;

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

var express = require("express");
var path = require("path");
var cookieParser = require("cookie-parser");
var logger = require("morgan");
const { engine } = require("express-edge");
const bodyParser = require("body-parser");


var app = express();

app.use(engine);
app.set("views", `${__dirname}/views`);
app.use(bodyParser.json());
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));

module.exports = app;


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

&lt;/div&gt;



&lt;p&gt;Congratulations.&lt;br&gt;
We have successfully integrated the &lt;strong&gt;edge template&lt;/strong&gt; inside our &lt;strong&gt;express-generator&lt;/strong&gt; app.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" alt="party-image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>express</category>
      <category>node</category>
      <category>server</category>
    </item>
    <item>
      <title>Ultimate guide to install and launch MongoDB on macOs</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Tue, 15 Dec 2020 11:32:50 +0000</pubDate>
      <link>https://dev.to/honorezemagho/ultimate-guide-to-install-and-launch-mongodb-on-macos-12kp</link>
      <guid>https://dev.to/honorezemagho/ultimate-guide-to-install-and-launch-mongodb-on-macos-12kp</guid>
      <description>&lt;p&gt;Today we are going to learn how to install and launch &lt;strong&gt;&lt;a href="https://www.mongodb.com/" rel="noopener noreferrer"&gt;MongoDB&lt;/a&gt;&lt;/strong&gt; on macOS. &lt;br&gt;
We are going to start with the prerequisites, MongoDB Installation, How to launch MongoDB and the Default configuration files.&lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.mongodb.com/" rel="noopener noreferrer"&gt;MongoDB&lt;/a&gt;&lt;/strong&gt; is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.&lt;/p&gt;

&lt;p&gt;In this tutorial, we are going to set up step by step MongoDB on macOS. &lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;strong&gt;1. Prerequisites&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://brew.sh/" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt;&lt;br&gt;
&lt;a href="https://brew.sh/" rel="noopener noreferrer"&gt;Homebrew&lt;/a&gt; is a free and open-source software package management system that simplifies the installation of software on Apple's macOS operating system and Linux.&lt;/p&gt;

&lt;p&gt;First of all, you need to verify is homebrew is already installed with the command :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew -v
// Output if it’s installed
// Homebrew 2.4.15
// Homebrew/homebrew-core (git revision 872ea; last commit 2020-08-31)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To install it, we need to use the command below :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It can take a while to install just be patient.&lt;br&gt;
For further documentation, you can check out this &lt;a href="https://brew.sh/#install" rel="noopener noreferrer"&gt;link&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;strong&gt;2. MongoDB Installation&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;First, we need to up brew dependencies with the command :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After we need to find the MongoDB Tap:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew tap mongodb/brew
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href="https://docs.brew.sh/Taps" rel="noopener noreferrer"&gt;brew tap&lt;/a&gt;&lt;/strong&gt; adds more repositories to the list of formulae that brew tracks, updates, and installs from. By default, tap assumes that the repositories come from GitHub.&lt;/p&gt;

&lt;p&gt;We can install now MongoDB community Edition on our Computer using this command:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;h1&gt;
  
  
  &lt;strong&gt;3. Launch MongoDB&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;To have launchd start mongod immediately and also restart at login, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew services start mongodb-community
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To connect to mongodb use the command :&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;If there is an error&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;if for any reason you have an error, open a new terminal window and run the command:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;wait for 15 seconds and then rerun the command&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;in another terminal.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;4. Default Configuration Files&lt;/strong&gt;
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The configuration file (/usr/local/etc/mongod.conf)
The log directory path (/usr/local/var/log/mongodb)
The data directory path (/usr/local/var/mongodb)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Congratulations.&lt;br&gt;
We have successfully install and launch &lt;strong&gt;mongodb&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hH9bIyRZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/whatsapp/238/face-with-party-horn-and-party-hat_1f973.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hH9bIyRZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/whatsapp/238/face-with-party-horn-and-party-hat_1f973.png" alt="party-image" width="120" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>mongodb</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Awesome resources to learn design for free</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Fri, 04 Dec 2020 09:20:57 +0000</pubDate>
      <link>https://dev.to/honorezemagho/awesome-resources-to-learn-design-for-free-f10</link>
      <guid>https://dev.to/honorezemagho/awesome-resources-to-learn-design-for-free-f10</guid>
      <description>&lt;p&gt;I've collected for you some resources where you can learn design for free. If I didn't put your own please put it into comments to allow me to update the post with it. Happy Learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;&lt;a href="https://uxcel.com?invite=EAB4GAPZA8J9" rel="noopener noreferrer"&gt;Uxcel&lt;/a&gt;&lt;/strong&gt;.
&lt;/h3&gt;

&lt;p&gt;UX/UI design education done right. Learn UI and Ux Interactively.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;&lt;a href="https://university.webflow.com/courses" rel="noopener noreferrer"&gt;Webflow University&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Create something amazing and learn web design with Webflow — from HTML and CSS basics to SEO and CMS essentials.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;&lt;a href="https://lawsofux.com/" rel="noopener noreferrer"&gt;Laws of Ux&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A collection of the maxims and principles that designers can consider when building interfaces. &lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;&lt;a href="https://www.checklist.design/" rel="noopener noreferrer"&gt;Checklist of Design&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A Collection of Best design Practices&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;&lt;a href="https://humanebydesign.com/" rel="noopener noreferrer"&gt;Humane By Design&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A resource that provides guidance for designing ethically humane digital products through patterns focused on user well-being.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;&lt;a href="https://designcode.io/" rel="noopener noreferrer"&gt;DesignCode&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Learn how to design and code Apps&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;strong&gt;&lt;a href="https://learnmobile.design/" rel="noopener noreferrer"&gt;Learn Mobile Design&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A curated list of mobile design resources&lt;/p&gt;

&lt;h2&gt;
  
  
  Youtube Channels
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;&lt;a href="https://www.youtube.com/user/DesignCourse/featured" rel="noopener noreferrer"&gt;Design Course By Garry Simon&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;DesignCourse is run by Gary, an expert that creates videos about anything from graphic design to advanced front-end development.  &lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;&lt;a href="https://www.youtube.com/user/everytues" rel="noopener noreferrer"&gt;Everytues by Teela Cunningham&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Teela hosts a weekly how-to channel for Adobe Illustrator, Photoshop, and hand lettering. Her tutorials are created with all skill levels in mind, providing quick tips and tricks so you have confidence in whatever you make.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;&lt;a href="https://www.youtube.com/user/charlimarieTV" rel="noopener noreferrer"&gt;CharliMarie Tv&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Charli is a web and graphic designer living in London and posts design videos every week about tools, projects, concepts, and vlogs.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;&lt;a href="https://www.youtube.com/user/breakdesignsco" rel="noopener noreferrer"&gt;Will Paterson&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;He gives you an in-depth and personal perspective of working within Graphic Design.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;&lt;a href="https://www.youtube.com/c/PiXimperfect" rel="noopener noreferrer"&gt;PiximPerfect&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;PiXimperfect, hosted by Unmesh Dinda, is a free resource for learning Photoshop and Lightroom. We believe in learning the concept, rather than learning the steps so that you can translate "your" imagination visually to the world.  &lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;&lt;a href="https://www.youtube.com/channel/UCWUGGwfTfJ0-2jUS3dZqOJA/featured" rel="noopener noreferrer"&gt;Femke&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;She shares her learnings and experience being a designer.&lt;br&gt;
Learn UI, Ux design, Ux Research.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;strong&gt;&lt;a href="https://www.youtube.com/user/lionandthewolf/featured" rel="noopener noreferrer"&gt;Red Hope&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Creator of &lt;strong&gt;&lt;a href="https://onepagelove.com/" rel="noopener noreferrer"&gt;https://onepagelove.com/&lt;/a&gt;&lt;/strong&gt;, he have a youtube channel to inspire others.&lt;/p&gt;

&lt;h3&gt;
  
  
  8.&lt;strong&gt;&lt;a href="https://www.youtube.com/user/PhlearnLLC/featured" rel="noopener noreferrer"&gt;PHLEARN&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;They are dedicated to providing you with the best photography and photoshop tutorials. &lt;/p&gt;

&lt;h3&gt;
  
  
  9. &lt;strong&gt;&lt;a href="https://www.youtube.com/channel/UCJgXJzIDG8mnmVNFN8kvkKQ/featured" rel="noopener noreferrer"&gt;DesignGal&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The goal of this channel is to teach you what you need to know about being in the design industry, whether you are a student or starting your career as a traditional graphic designer or going into tech as a UI/UX designer&lt;/p&gt;

&lt;h3&gt;
  
  
  10. &lt;strong&gt;&lt;a href="https://www.youtube.com/user/BringYourOwnLaptop/featured" rel="noopener noreferrer"&gt;BringYourOwnLaptop&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This channel will provide you high-quality information tutorials for software such as Adobe Photoshop, Adobe InDesign, Adobe XD, Adobe Illustrator, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Illustrations and Patterns
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;&lt;a href="https://shape.so/" rel="noopener noreferrer"&gt;Shape&lt;/a&gt;&lt;/strong&gt;.
&lt;/h3&gt;

&lt;p&gt;More than 29,200 icons and illustrations fully customizable.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;&lt;a href="https://akveo.github.io/eva-icons/" rel="noopener noreferrer"&gt;Eva Icons&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Eva Icons is a pack of more than 480 beautifully crafted Open Source icons for common actions and items.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;&lt;a href="https://control.rocks/" rel="noopener noreferrer"&gt;Controls&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A set of 108 customizable illustrations.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;&lt;a href="https://undraw.co/" rel="noopener noreferrer"&gt;Undraw&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Open-source illustrations for any idea you can imagine and create.&lt;br&gt;
You can also select your custom color and all illustrations will be redesigned based on the new color within a second.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;&lt;a href="https://www.figma.com/" rel="noopener noreferrer"&gt;Figma&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Figma helps you and your team to create, test, and ship better designs from start to finish.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;&lt;a href="https://illlustrations.co/" rel="noopener noreferrer"&gt;illlustrations.co&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Open source illustrations kit designed 100 awesome illustrations during 100 days of illustration challenge&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;strong&gt;&lt;a href="https://www.drawkit.io/" rel="noopener noreferrer"&gt;DrawKit&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Beautiful, free illustrations. Updated weekly.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. &lt;strong&gt;&lt;a href="https://opendoodles.com/" rel="noopener noreferrer"&gt;OpenDoodles&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A Free set of Sketchy Illustrations&lt;/p&gt;

&lt;h3&gt;
  
  
  9. &lt;strong&gt;&lt;a href="https://avataaars.com/" rel="noopener noreferrer"&gt;Avataars&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Mix &amp;amp; Match Avatars with a Sketch library&lt;/p&gt;

&lt;h3&gt;
  
  
  10. &lt;strong&gt;&lt;a href="//error404.fun"&gt;Error404&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Royalty-free illustrations for pages&lt;/p&gt;

&lt;h3&gt;
  
  
  11. &lt;strong&gt;&lt;a href="https://www.openpeeps.com/" rel="noopener noreferrer"&gt;Openpeeps&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A hand-drawn people illustration library.&lt;/p&gt;

&lt;h3&gt;
  
  
  12. &lt;strong&gt;&lt;a href="https://usesmash.com/" rel="noopener noreferrer"&gt;Smash Illustrations&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Awesome illustration constructor with colorful and trendy characters&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;&lt;a href="https://muz.li/" rel="noopener noreferrer"&gt;Muzli&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Muzli delivers to you relevant design stories and inspiration. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;&lt;a href="https://dribbble.com/" rel="noopener noreferrer"&gt;Dribbble&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Dribbble is the leading destination to find &amp;amp; showcase creative work and home to the world's best design professionals.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;&lt;a href="https://www.uisources.com/" rel="noopener noreferrer"&gt;Ui Sources&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Browse recordings of end to end user journeys from the top-grossing apps to reduce iteration cycles, gain insights, identify trends &amp;amp; benchmark against your competitors and industry’s standard.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;&lt;a href="https://mobbin.design/" rel="noopener noreferrer"&gt;Mobbin&lt;/a&gt;&lt;/strong&gt;.
&lt;/h3&gt;

&lt;p&gt;Here you can access more than 25000 design patterns for free.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;&lt;a href="https://ecomm.design/" rel="noopener noreferrer"&gt;Ecomm Design&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For eCommerce Website Design Gallery &amp;amp; Tech Inspiration.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;&lt;a href="https://www.behance.net/" rel="noopener noreferrer"&gt;Behance by Adobe&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Behance is a social media platform owned by Adobe which claims "to showcase and discover creative work.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;strong&gt;&lt;a href="https://screenlane.com/" rel="noopener noreferrer"&gt;ScreenLane&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Screenlane is a curated and frequently updated directory of the best web and mobile UI designs from live, shipped products. It's no longer just about UI design animations and it will no longer feature designs that are not live.&lt;/p&gt;

</description>
      <category>design</category>
      <category>beginners</category>
      <category>tooling</category>
      <category>learning</category>
    </item>
    <item>
      <title>Simple Flight Database: Database Design</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Mon, 30 Nov 2020 20:22:20 +0000</pubDate>
      <link>https://dev.to/honorezemagho/car-rental-service-database-design-14ij</link>
      <guid>https://dev.to/honorezemagho/car-rental-service-database-design-14ij</guid>
      <description>&lt;p&gt;&lt;strong&gt;Database Design&lt;/strong&gt; is the process of defining how a database will be structured. This primarily includes tables, their relationships, and the columns each table contains.&lt;/p&gt;

&lt;p&gt;Today we are going to design the database of a Car Rental Service.&lt;br&gt;
To design a database first we need to make user stories.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. User Stories&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;According to Wikipedia, In software development and product management, a &lt;strong&gt;user story&lt;/strong&gt; is an informal, natural language description of one or more features of a software system. User stories are often written from the perspective of an end-user or user of a system.&lt;/p&gt;

&lt;p&gt;For our Simple Flight Database, these are user stories.&lt;br&gt;
&lt;strong&gt;a)&lt;/strong&gt; An airplane is assigned to several flights. A flight is assigned to only one airplane.&lt;br&gt;
&lt;strong&gt;b)&lt;/strong&gt; A pilot can perform several flights. A flight is performed by several(normally at least two) pilots.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Entity Relationship Diagram&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ff5q560v3zlzzfx5dgkkq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ff5q560v3zlzzfx5dgkkq.png" alt="Simple Flight Database"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Relational Model&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8f23bmvz4hjwo1pi3sj0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8f23bmvz4hjwo1pi3sj0.png" alt="Relational Model"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>Add Tailwind V2 into React in 5 minutes</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Sat, 21 Nov 2020 14:47:07 +0000</pubDate>
      <link>https://dev.to/honorezemagho/add-tailwind-v2-into-react-in-5-minutes-43f8</link>
      <guid>https://dev.to/honorezemagho/add-tailwind-v2-into-react-in-5-minutes-43f8</guid>
      <description>&lt;h1&gt;
  
  
  What is React?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://reactjs.org/" rel="noopener noreferrer"&gt;React&lt;/a&gt;&lt;/strong&gt; is JavaScript library for building user interfaces.&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Tailwind?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://tailwindcss.com/" rel="noopener noreferrer"&gt;Tailwindcss&lt;/a&gt;&lt;/strong&gt; is a utility-first CSS framework packed with classes that can be composed to build any design, directly in your markup.&lt;/p&gt;

&lt;h1&gt;
  
  
  Requirements
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;Nodejs&lt;/a&gt; version &lt;strong&gt;8.10&lt;/strong&gt; or Higher.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Getting Started
&lt;/h3&gt;

&lt;p&gt;Today we are going to add tailwind css in our React application without using npm.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Using &lt;a href="https://create-react-app.dev/docs/getting-started" rel="noopener noreferrer"&gt;create-react-app&lt;/a&gt; we are going to generate a new react project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
npx create-react-app react-tailwind
cd react-tailwind
npm start

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Add Tailwindcss into Our react App
&lt;/h2&gt;

&lt;p&gt;Inside the &lt;strong&gt;public&lt;/strong&gt; folder, locate the file &lt;strong&gt;index.html&lt;/strong&gt;.&lt;br&gt;
and add the Tailwindcss CDN link &lt;strong&gt;&lt;code&gt;https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It will looks as it under.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
 &amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8" /&amp;gt;
    &amp;lt;link rel="icon" href="%PUBLIC_URL%/favicon.ico" /&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1" /&amp;gt;
    &amp;lt;meta name="theme-color" content="#000000" /&amp;gt;
    &amp;lt;meta
      name="description"
      content="Web site created using create-react-app"
    /&amp;gt;
    &amp;lt;link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /&amp;gt;
    &amp;lt;link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"&amp;gt;
    &amp;lt;!--
      manifest.json provides metadata used when your web app is installed on a
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
    --&amp;gt;
    &amp;lt;link rel="manifest" href="%PUBLIC_URL%/manifest.json" /&amp;gt;
    &amp;lt;!--
      Notice the use of %PUBLIC_URL% in the tags above.
      It will be replaced with the URL of the `public` folder during the build.
      Only files inside the `public` folder can be referenced from the HTML.

      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
      work correctly both with client-side routing and a non-root public URL.
      Learn how to configure a non-root public URL by running `npm run build`.
    --&amp;gt;
    &amp;lt;title&amp;gt;React App&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;noscript&amp;gt;You need to enable JavaScript to run this app.&amp;lt;/noscript&amp;gt;
    &amp;lt;div id="root"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the &amp;lt;body&amp;gt; tag.

      To begin the development, run `npm start` or `yarn start`.
      To create a production bundle, use `npm run build` or `yarn build`.
    --&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;


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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Congratulations.&lt;/strong&gt;&lt;br&gt;
We have successfully add &lt;strong&gt;Tailwindcss&lt;/strong&gt; inside our React App.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" alt="party-image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>react</category>
      <category>tailwindcss</category>
      <category>css</category>
    </item>
    <item>
      <title>XAMPP Installation Step By Step on MacOs</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Mon, 26 Oct 2020 14:49:55 +0000</pubDate>
      <link>https://dev.to/honorezemagho/xampp-installation-step-by-step-on-macos-4hi2</link>
      <guid>https://dev.to/honorezemagho/xampp-installation-step-by-step-on-macos-4hi2</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;XAMPP&lt;/strong&gt; is the most popular PHP development environment&lt;br&gt;
&lt;strong&gt;XAMPP&lt;/strong&gt; is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.&lt;br&gt;
Today we are going to install it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Installation
&lt;/h1&gt;

&lt;p&gt;First of all we have to download it. Just click &lt;a href="https://www.apachefriends.org/index.html" rel="noopener noreferrer"&gt;here&lt;/a&gt; to download.&lt;/p&gt;

&lt;p&gt;You will see a page like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvvrxvd5ttai04a7d7nvl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvvrxvd5ttai04a7d7nvl.png" alt="image14"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just download the version of your operating system. From Mine, I am using macOS.&lt;br&gt;
Once it finishes downloading, we have to install it. In your Downloads folder search the XAMPP application and click it twice to install.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fexnb5wk5hyvdiymvxvuy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fexnb5wk5hyvdiymvxvuy.png" alt="image11"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You'll see the install window, once everything will be ready.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F46jzkn7we3gv7m7p7hi8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F46jzkn7we3gv7m7p7hi8.png" alt="image13"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click it twice and when a warning box will appear, click &lt;strong&gt;open&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9b0pyo5deugwmlhe89za.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9b0pyo5deugwmlhe89za.png" alt="image4"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will have to enter your &lt;strong&gt;computer password&lt;/strong&gt; to allow XAMPP to install and click on “&lt;strong&gt;OK&lt;/strong&gt;”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnpcdbdsi43z9wc6cdngv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnpcdbdsi43z9wc6cdngv.png" alt="image3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we get to the setup process. Click "Next" to start the process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmfizpmasxrp3mqamrdaw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmfizpmasxrp3mqamrdaw.png" alt="image7"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After checking all options if it’s not yet checked. Click ‘“Next” to continue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffn0de6q2mbrsaebettn7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffn0de6q2mbrsaebettn7.png" alt="image9"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;XAMPP&lt;/strong&gt; will be installed in your &lt;strong&gt;Applications&lt;/strong&gt; directory. Click “&lt;strong&gt;Next&lt;/strong&gt;”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feq7ejror5x9l8uz0b74y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Feq7ejror5x9l8uz0b74y.png" alt="image1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After click on “&lt;strong&gt;Next&lt;/strong&gt;”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvwhade9semdp0dppkhpo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvwhade9semdp0dppkhpo.png" alt="image2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now everything is ready for installation. Click on “&lt;strong&gt;Next&lt;/strong&gt;”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fp2w04692brydr10z7hwc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fp2w04692brydr10z7hwc.png" alt="image15"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now &lt;strong&gt;XAMPP&lt;/strong&gt; will start installing in your computer automatically just leave it run. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5p5jvygdscfixa7fzwet.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5p5jvygdscfixa7fzwet.png" alt="image5"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it will finish you will see this screen. Just check ”&lt;strong&gt;Launch XAMPP&lt;/strong&gt;” and click on “&lt;strong&gt;Finish&lt;/strong&gt;”. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ao8zehxwg5nw7wzn39v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ao8zehxwg5nw7wzn39v.png" alt="image12"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you will see a XAMPP window as follows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fv9hvgwjtg3l13cnkeh31.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fv9hvgwjtg3l13cnkeh31.jpg" alt="image10"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Congratulations.&lt;/strong&gt;&lt;br&gt;
You have successfully installed XAMPP on your Mac.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" alt="party-image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>sql</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>MYSQL Workbench, Step by Step Installation MacOs</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Mon, 26 Oct 2020 14:05:05 +0000</pubDate>
      <link>https://dev.to/honorezemagho/mysql-workbench-step-by-step-installation-macos-n7</link>
      <guid>https://dev.to/honorezemagho/mysql-workbench-step-by-step-installation-macos-n7</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;MySQL Workbench&lt;/strong&gt; is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more.&lt;/p&gt;

&lt;p&gt;Today we are going to install it on macOS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;First of all, you have to check your &lt;strong&gt;macOS&lt;/strong&gt; version. From the &lt;strong&gt;Apple menu&lt;/strong&gt; in the corner of your screen, choose &lt;strong&gt;About This Mac&lt;/strong&gt;. You should see the macOS name, such as macOS Mojave, followed by its version number. If you need to know the build number as well, click the version number to see it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo1gcxo7fg0s505c95hp4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo1gcxo7fg0s505c95hp4.png" alt="image3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Download
&lt;/h3&gt;

&lt;p&gt;First of all, we have to download it. Click &lt;a href="https://dev.mysql.com/downloads/workbench" rel="noopener noreferrer"&gt;here&lt;/a&gt; to download. You will see a page like this.&lt;br&gt;
&lt;strong&gt;Please verify that the version of your Workbench is compatible with the version of your system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffxsfhng5eq7ybn5c6jvu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffxsfhng5eq7ybn5c6jvu.png" alt="image9"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If not, please click on the “&lt;strong&gt;Archives&lt;/strong&gt;” tab. Keep changing the version until the “&lt;strong&gt;Product Version&lt;/strong&gt;” fits with the “&lt;strong&gt;version of your system.&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftdquxrgo5vadq48l1a0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ftdquxrgo5vadq48l1a0v.png" alt="image5"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For my own, it’s the version “&lt;strong&gt;8.0.12&lt;/strong&gt;”  who is compatible with my macOS version. After click on the “&lt;strong&gt;Download&lt;/strong&gt;” button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fimbdrqznltarbws9a1ur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fimbdrqznltarbws9a1ur.png" alt="image1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;After downloaded, we need to install it.&lt;br&gt;
First of all, we need to locate our file in the “Downloads” folder.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjcbvybq0706ylhl4phxr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjcbvybq0706ylhl4phxr.png" alt="image10"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After “&lt;strong&gt;double click&lt;/strong&gt;” on the &lt;strong&gt;file&lt;/strong&gt;, just wait until you see this screen.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5lwqmvi3ginf7i3svprh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5lwqmvi3ginf7i3svprh.png" alt="image7"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we need to drag the &lt;strong&gt;Mysql workbench&lt;/strong&gt; and drop inside the Applications folder.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuvn3qqpjbi80pl69di1z.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuvn3qqpjbi80pl69di1z.gif" alt="image4"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After it will start copying into the Applications folder. Just wait until it finished.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe9tv64wvpz2zvi05bsva.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fe9tv64wvpz2zvi05bsva.png" alt="image2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When it's done, you have successfully install “&lt;strong&gt;MYSQL Workbench&lt;/strong&gt;”.&lt;br&gt;
&lt;strong&gt;Congratulations&lt;/strong&gt;.&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Femojipedia-us.s3.dualstack.us-west-1.amazonaws.com%2Fthumbs%2F120%2Fwhatsapp%2F238%2Fface-with-party-horn-and-party-hat_1f973.png" alt="party-image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mysqlworkench</category>
      <category>beginners</category>
      <category>opensource</category>
      <category>database</category>
    </item>
    <item>
      <title>2020 Hacktoberfest Repository for beginners</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Tue, 20 Oct 2020 12:35:50 +0000</pubDate>
      <link>https://dev.to/honorezemagho/github-repository-you-can-contribute-for-hacktoberfest-2020-2l56</link>
      <guid>https://dev.to/honorezemagho/github-repository-you-can-contribute-for-hacktoberfest-2020-2l56</guid>
      <description>&lt;p&gt;After submitting more than 10 pull requests and some repository were ineligible to Hacktobertfest I decided to help beginners who are starting open-source with Hacktobest to get their pull request fast as possible.&lt;/p&gt;

&lt;p&gt;This is the list of some repository that I have found:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Opensource edu-bot from facebook developerscircles. Click &lt;a href="https://github.com/fbdevelopercircles/open-source-edu-bot/issues/37" rel="noopener noreferrer"&gt;Here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hacktoberfest from Darsh2001. &lt;a href="https://github.com/Darsh2001/HACKTOBERFEST-2020" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3.Hacktoberfest from tarunsinghofficial. &lt;a href="https://github.com/tarunsinghofficial/HacktoberFest" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Hacktoberfest from Arjun Adhikari.&lt;a href="https://github.com/arjunadhikary/Hacktoberfest" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5.Hacktoberfest from Potential17.&lt;a href="https://github.com/Potential17/Hacktoberfest-2020" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.Hacktoberfest from subeshb1.&lt;a href="https://github.com/subeshb1/developer-community-stats" rel="noopener noreferrer"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>beginners</category>
      <category>github</category>
    </item>
    <item>
      <title>Implement OCR with React#2</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Fri, 16 Oct 2020 16:42:31 +0000</pubDate>
      <link>https://dev.to/honorezemagho/implement-ocr-with-react-2-li</link>
      <guid>https://dev.to/honorezemagho/implement-ocr-with-react-2-li</guid>
      <description>&lt;p&gt;In the last &lt;a href="https://dev.to/honorezemagho/implement-ocr-with-react-45k7"&gt;tutorial&lt;/a&gt; we have implemented the upload functionality.&lt;br&gt;
In this tutorial we are going to add &lt;a href="https://tesseract.projectnaptha.com/" rel="noopener noreferrer"&gt;Tesseract.js&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This article is divided in two parts. This is the  &lt;strong&gt;part 2&lt;/strong&gt; , for the &lt;strong&gt;Part1&lt;/strong&gt; click &lt;a href="https://dev.to/honorezemagho/implement-ocr-with-react-45k7"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Requirements
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;Nodejs&lt;/a&gt; version 8.10 or Higher.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First, we are going to install Tesseract.js package&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;After we are going to import &lt;strong&gt;createWorker&lt;/strong&gt; function it in &lt;code&gt;src/App.js&lt;/code&gt; file .&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import {createWorker} from "tesseract.js";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;inside the function &lt;strong&gt;App()&lt;/strong&gt; we are going to add a worker and a method to recognize text inside an image.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  const worker = createWorker({
    logger: (m) =&amp;gt; console.log(m),
});

const ExtractTextFromImage = async (imageUrl) =&amp;gt; {
  await worker.load();
  await worker.loadLanguage("eng");
  await worker.initialize("eng");
  const {
      data: {
          text
      },
  } = await worker.recognize(imageUrl);
  setText(text);
  await worker.terminate();
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After we are going to define the state for image URL and text display. we are going to use &lt;strong&gt;useState&lt;/strong&gt; and &lt;strong&gt;useEffect&lt;/strong&gt; React Hook. First of all, we need to import &lt;strong&gt;useState&lt;/strong&gt; from &lt;strong&gt;react&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; import React,{useEffect,useState} from "react";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; const [ text, setText] = useState(null);

 const [imageUrl] = useState(null);

 useEffect(() =&amp;gt; {
        if (imageUrl != null) {
            ExtractTextFromImage();
        }
    });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we are going to add a container to display the text from the image in &lt;strong&gt;&lt;em&gt;React.Fragment&lt;/em&gt;&lt;/strong&gt; bloc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  &amp;lt;div className = "container text-center pt-5" &amp;gt;
          {text}
  &amp;lt;/div&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and update the text when processing the image.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const handleChangeStatus = ({
    meta
}, status) =&amp;gt; {
    if (status === 'headers_received') {
      alert("Uploaded");
      setText("Recognizing...");
ExtractTextFromImage(meta.url);
    } else if (status === 'aborted') {
      alert("Something went wrong")
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the GitHub repository click &lt;a href="https://github.com/honorezemagho/react-ocr" rel="noopener noreferrer"&gt;Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article is divided into two parts. This is the  &lt;strong&gt;part 2&lt;/strong&gt; , for the &lt;strong&gt;Part1&lt;/strong&gt; click &lt;a href="https://dev.to/honorezemagho/implement-ocr-with-react-45k7"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>opensource</category>
      <category>tutorial</category>
      <category>react</category>
    </item>
    <item>
      <title>Implement OCR with React#1</title>
      <dc:creator>honorezemagho</dc:creator>
      <pubDate>Tue, 13 Oct 2020 15:10:20 +0000</pubDate>
      <link>https://dev.to/honorezemagho/implement-ocr-with-react-45k7</link>
      <guid>https://dev.to/honorezemagho/implement-ocr-with-react-45k7</guid>
      <description>&lt;h1&gt;
  
  
  What is OCR?
&lt;/h1&gt;

&lt;p&gt;According to Wikipedia, &lt;strong&gt;Optical character recognition&lt;/strong&gt; or &lt;strong&gt;optical character reader&lt;/strong&gt; is the electronic or mechanical conversion of images of typed, handwritten or printed text into machine-encoded text, whether from a scanned document, a photo of a document, a scene-photo or from subtitle text superimposed on an image. You can read the full article &lt;a href="https://en.wikipedia.org/wiki/Optical_character_recognition" rel="noopener noreferrer"&gt;Here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today we are going to Implement Optical Character Recogniton using &lt;a href="https://reactjs.org" rel="noopener noreferrer"&gt;React&lt;/a&gt; and &lt;a href="https://tesseract.projectnaptha.com" rel="noopener noreferrer"&gt;Tesseract.js&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This article is divided in two parts. This is the  &lt;strong&gt;part 1&lt;/strong&gt; , for the &lt;strong&gt;Part2&lt;/strong&gt; click &lt;a href="https://dev.to/honorezemagho/implement-ocr-with-react-2-li"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Requirements
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;Nodejs&lt;/a&gt; version &lt;strong&gt;8.10&lt;/strong&gt; or Higher.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Installation
&lt;/h1&gt;

&lt;p&gt;Using &lt;a href="https://create-react-app.dev/docs/getting-started" rel="noopener noreferrer"&gt;create-react-app&lt;/a&gt; we are going to generate a new react project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
npx create-react-app react-ocr
cd react-ocr
npm start

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

&lt;/div&gt;



&lt;p&gt;For the user interface, we are going to use &lt;a href="https://getbootstrap.com" rel="noopener noreferrer"&gt;Bootstrap&lt;/a&gt; and to add upload we are going to use &lt;a href="https://react-dropzone-uploader.js.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;React Dropzone Uploader&lt;/strong&gt;&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install --save bootstrap react-dropzone-uploader
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and add import styles it in &lt;code&gt;src/index.js&lt;/code&gt; file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'bootstrap/dist/css/bootstrap.css';
import 'react-dropzone-uploader/dist/styles.css';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are going now in &lt;code&gt;src/App.js&lt;/code&gt; to, import &lt;strong&gt;Dropzone&lt;/strong&gt; component at the top&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Dropzone from 'react-dropzone-uploader';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and replace  &lt;strong&gt;App&lt;/strong&gt; class like this to have some basic user interface:&lt;br&gt;
&lt;/p&gt;

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

function App ()  {
  render() {
    return (
     &amp;lt;React.Fragment&amp;gt;

      &amp;lt;nav className = "navbar navbar-light bg-light justify-content-center mt-3"&amp;gt;
            &amp;lt;a className = "navbar-brand" href = "/" &amp;gt; React OCR &amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;
            &amp;lt;p&amp;gt; Optical Character Recognition with React and Tesseract.js &amp;lt;/p&amp;gt; 
        &amp;lt;/nav&amp;gt;
        &amp;lt;Dropzone 
        accept = "image/jpeg, image/png, image/jpg"
        inputContent = {
            (files,extra) =&amp;gt; (extra.reject ? 'Only PNG and JPG Image files are allowed' : 'Drop  image here')
        }
        styles = {
            {
                dropzoneActive: {
                    borderColor: 'green'
                },
                dropzoneReject: { borderColor: 'red', backgroundColor: '#DAA' },
                    inputLabel: (files, extra) =&amp;gt; (extra.reject ? { color: 'red' } : {}),
            }
        }
        /&amp;gt;
&amp;lt;/React.Fragment&amp;gt;
    )
  }
};


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

&lt;/div&gt;



&lt;p&gt;It looks like this.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbehr31s6ct43ljzd06xo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fbehr31s6ct43ljzd06xo.png" alt="basic-ui" width="800" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are going now to integrate upload functionnality using &lt;strong&gt;react-dropzone-uploader&lt;/strong&gt; package that we install before by adding using &lt;strong&gt;getUploadParams, onChangeStatus, maxFiles, multiple,canCancel&lt;/strong&gt; properties.&lt;br&gt;
For storage, we are going to use &lt;a href="https://httpbin.org" rel="noopener noreferrer"&gt;HttpBin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After adding it our function looks like this:&lt;br&gt;
&lt;/p&gt;

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

import React from 'react';
import './App.css';
import Dropzone from 'react-dropzone-uploader';


function App () {

 const getUploadParams = () =&amp;gt; {
    return {
        url: 'https://httpbin.org/post'
    }
}

 const handleChangeStatus = ({
    meta
}, status) =&amp;gt; {
    if (status === 'headers_received') {
      alert("Uploaded")
    } else if (status === 'aborted') {
      alert("Something went wrong")
    }
}


    return (
      &amp;lt;React.Fragment &amp;gt;

        &amp;lt;nav className = "navbar navbar-light bg-light justify-content-center mt-3"&amp;gt;
            &amp;lt;a className = "navbar-brand" href = "/" &amp;gt; React OCR &amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;
            &amp;lt;p&amp;gt; Optical Character Recognition with React and Tesseract.js &amp;lt;/p&amp;gt; 
        &amp;lt;/nav&amp;gt;


        &amp;lt;Dropzone 
        getUploadParams = {
         getUploadParams
      }
      onChangeStatus = {
          handleChangeStatus
      }
      maxFiles = {
          1
      }
      multiple = {
          false
      }
      canCancel = {
          false
      }
       accept = "image/jpeg, image/png, image/jpg"
        inputContent = {
            (files,extra) =&amp;gt; (extra.reject ? 'Only PNG and JPG Image files are allowed' : 'Drop  image here')
        }
        styles = {
            {
                dropzoneActive: {
                    borderColor: 'green'
                },
                dropzoneReject: { borderColor: 'red', backgroundColor: '#DAA' },
                    inputLabel: (files, extra) =&amp;gt; (extra.reject ? { color: 'red' } : {}),
            }
        }
        /&amp;gt; 

&amp;lt;/React.Fragment&amp;gt;
    )
};

export default App;



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

&lt;/div&gt;



&lt;p&gt;Now we have successfully add &lt;strong&gt;upload functionnality&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl2axhtmfilkvdgpbmrx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fl2axhtmfilkvdgpbmrx9.png" alt="upload-func" width="800" height="103"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article is divided into two parts. This is the  &lt;strong&gt;part 1&lt;/strong&gt; , for the &lt;strong&gt;Part2&lt;/strong&gt; click &lt;a href="https://dev.to/honorezemagho/implement-ocr-with-react-2-li"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>opensource</category>
      <category>react</category>
    </item>
  </channel>
</rss>
