<?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>Forem: Naem Azam </title>
    <description>The latest articles on Forem by Naem Azam  (@naemazam).</description>
    <link>https://forem.com/naemazam</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%2F672264%2F50a3b3da-6386-4167-9756-b295da44209e.jpg</url>
      <title>Forem: Naem Azam </title>
      <link>https://forem.com/naemazam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/naemazam"/>
    <language>en</language>
    <item>
      <title>How to Make Chrome Extension</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Fri, 02 Dec 2022 08:53:51 +0000</pubDate>
      <link>https://forem.com/naemazam/how-to-make-chrome-extension-elb</link>
      <guid>https://forem.com/naemazam/how-to-make-chrome-extension-elb</guid>
      <description>&lt;p&gt;In this tutorial, you will learn how to create a Screen Record  Chrome Extension using JavaScript and HTML Library. This tutorial aims to provide IT/CS students and new programmers with a reference on how they can manipulate the different site pages by creating a browser extension.&lt;/p&gt;

&lt;p&gt;Step 1: Creating the manifest file&lt;br&gt;
First, we will need to create the manifest.json file of our chrome extension script.&lt;/p&gt;

&lt;p&gt;`&lt;br&gt;&lt;br&gt;
{&lt;br&gt;
        "manifest_version": 3,&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    "name": "Simple Screencapture Extension",
    "description": "This extension allows you to Screencapture the site.",
    "version": "1.0",
    "icons": {
        "16": "screencapture-icon.png",
        "48": "screencapture-icon.png",
        "128": "screencapture-icon.png"
    },
    "action": {
     "default_icon": "screencapture-icon.png",
     "default_popup": "popup.html"
    },
    "permissions": ["tabs", "scripting"],
    "content_scripts": [{
        "matches": [
            "&amp;lt;all_urls&amp;gt;"
        ],
        "js": ["page_content_script.js", "html2canvas.min.js"]
    }]
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Creating the Popup Interface&lt;/strong&gt;&lt;br&gt;
Next, we will create an HTML file that contains the elements of the extension's popup interface. The interface contains an icon, headings, text, and a button. Save the file as popup.html.&lt;/p&gt;

&lt;p&gt;` &lt;br&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
    Simple Screen Capture Extension&lt;br&gt;
    &amp;lt;br&amp;gt;
        body {&amp;lt;br&amp;gt;
            width: 250px;&amp;lt;br&amp;gt;
            padding: 1.5em 1em;&amp;lt;br&amp;gt;
            background: #000;&amp;lt;br&amp;gt;
            box-shadow: 0px 0px 7px #fff;&amp;lt;br&amp;gt;
            margin: 2px;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        .text-center{&amp;lt;br&amp;gt;
            text-align: center;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        .img-holder{&amp;lt;br&amp;gt;
            display: flex;&amp;lt;br&amp;gt;
            width: 100%;&amp;lt;br&amp;gt;
            align-items: center;&amp;lt;br&amp;gt;
            justify-content: center;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        .img-holder&amp;amp;gt;div{&amp;lt;br&amp;gt;
            width: 65px;&amp;lt;br&amp;gt;
            height: 65px;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        .img-holder&amp;amp;gt;div&amp;amp;gt;img{&amp;lt;br&amp;gt;
            width: 100%;&amp;lt;br&amp;gt;
            height: 100%;&amp;lt;br&amp;gt;
            object-fit: cover;&amp;lt;br&amp;gt;
            object-position: center center;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        .text-muted{&amp;lt;br&amp;gt;
            color:#d0d0d0;&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
    &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
    &lt;br&gt;
        &lt;br&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/.%2Fscreencapture-icon.png" alt="ScreenCapture" width="" height=""&gt;&lt;br&gt;
        &lt;br&gt;
    &lt;br&gt;
    &lt;h3&gt;ScreenCapture&lt;/h3&gt;
&lt;br&gt;
    &lt;small&gt;Capture the site page by clicking the button below&lt;/small&gt;&lt;br&gt;
    &lt;br&gt;&lt;br&gt;
    &lt;br&gt;
        Capture&lt;br&gt;
    &lt;br&gt;
    



&lt;p&gt; &lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Creating the Extension's Script&lt;/strong&gt;&lt;br&gt;
Next, create a new JavaScript file and save it as capture.js. This JS file contains the script that will send a message to the page/tab client when the button "Capture" has been clicked. It will send a message that will trigger the screenshot script on the page/tab client.&lt;/p&gt;

&lt;p&gt;`&lt;br&gt;&lt;br&gt;
// Capture Button Event Listener&lt;br&gt;
document.querySelector("#capturePage").addEventListener("click", function(){&lt;br&gt;
    let tab_params = {&lt;br&gt;
        active: true,&lt;br&gt;
        currentWindow: true&lt;br&gt;
    }&lt;br&gt;
    chrome.tabs.query(tab_params, capture)&lt;/p&gt;

&lt;p&gt;})&lt;/p&gt;

&lt;p&gt;// Send Message to the Active Page to trigger screen capturing&lt;br&gt;
function capture(e) {&lt;br&gt;
    chrome.tabs.sendMessage(e[0].id, {action:'capture'})&lt;br&gt;
}&lt;br&gt;&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Creating the Extension's Content Scripts&lt;/strong&gt;&lt;br&gt;
Next, we will create the extension's content JavaScript file. This JS file will be loaded on the browsed site. It contains the scripts that listen to incoming messages from the extension script. If the button "Capture" has been clicked, this file will receive the message to trigger the screen-capturing script. Save this file as page_content_script.js.&lt;/p&gt;

&lt;p&gt;`&lt;br&gt;
console.log("Screen Capture Extension Script has loaded")&lt;br&gt;
// Listen to the messages sent by the background script&lt;br&gt;
chrome.runtime.onMessage.addListener(ScreenCaptureExtCB)&lt;/p&gt;

&lt;p&gt;// Screen Capture Extension's Callback [Receiving message]&lt;br&gt;
function ScreenCaptureExtCB(msg) {&lt;br&gt;
    console.log(msg)&lt;br&gt;
    if(msg.action == "capture"){&lt;br&gt;
        html2canvas(document.body).then(canvas =&amp;gt; {&lt;br&gt;
            var blob = canvas.toBlob((blob) =&amp;gt; {&lt;br&gt;
                url = window.URL.createObjectURL(blob)&lt;br&gt;
                window.open(url)&lt;br&gt;
            }, "image/png")&lt;br&gt;
        });&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Download the Libraries Files&lt;/strong&gt;&lt;br&gt;
Lastly, download and save the HTML2Canvas and jQuery Libraries files into your source code directory. please make sure that the filenames are exactly the same on the script that loads the libraries. For the HTML2Canvas, the file is loaded at the manifest.json file. The jQuery library is loaded in the popup.html file. Please download also the icon/image that you want to use for the extension.&lt;/p&gt;

&lt;p&gt;Here are the following links to download the library files&lt;/p&gt;

&lt;p&gt;&lt;a href="https://html2canvas.hertzen.com/dist/html2canvas.min.js" rel="noopener noreferrer"&gt;HTML2Canvas&lt;/a&gt;&lt;br&gt;
&lt;a href="https://code.jquery.com/jquery-3.6.1.min.js" rel="noopener noreferrer"&gt;jquery&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Upload the Extension Source Code in Chrome Browser
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Go to Chrome's Extensions Page&lt;/strong&gt;&lt;br&gt;
To upload the extension into your chrome browser, open the browser and browse chrome://extensions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Enable Developer Mode&lt;/strong&gt;&lt;br&gt;
To enable the Developer Mode, toggle/click the Developer Mode toggle located at the upper right of the page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Load Unpack&lt;/strong&gt;&lt;br&gt;
Next, load the ScreenCapture Extension source code that we created. To do that, click the Load Unpacked button located at the upper left of the page.&lt;/p&gt;

&lt;p&gt;That's you can now check the ScreenCapture Extension in the extensions menu of the Chrome Browser. The extensions menu is located beside the address bar.&lt;/p&gt;

&lt;p&gt;That's it! You can now test ScreenCapture Extension in your browser. To test it, browse any site and click the Capture button on the extensions popup interface. The captured image will be shown in a new tab of the browser.&lt;/p&gt;

&lt;p&gt;Snapshots&lt;br&gt;
Here's the snapshot of the ScreenCapture Extension popup interface.&lt;/p&gt;

&lt;p&gt;ScreenCapture Extension&lt;/p&gt;

&lt;p&gt;That's it! That's the end of this tutorial. I hope this ScreenCapture Chrome Extension Tutorial will help you with what you are looking for and that you'll find this useful for your current and future projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/naemazam" rel="noopener noreferrer"&gt;Download Source code &lt;/a&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>postgres</category>
      <category>ai</category>
      <category>frontend</category>
    </item>
    <item>
      <title>How to Start Making Money by Programming?</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Wed, 27 Jul 2022 17:05:50 +0000</pubDate>
      <link>https://forem.com/naemazam/how-to-start-making-money-by-programming-4lmi</link>
      <guid>https://forem.com/naemazam/how-to-start-making-money-by-programming-4lmi</guid>
      <description>&lt;h2&gt;
  
  
  Programming is the most powerful skill at the moment in the digital field. There is a lot of potential in programming, and you can easily land a job if you are a creative programmer. If you are already a master at programming and wondering how to start making money with this skill, there are a lot of jobs welcoming you.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  How to Make Money as a Programmer?
&lt;/h2&gt;

&lt;p&gt;Making money by programming involves three steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn Programming
&lt;/h2&gt;

&lt;p&gt;Before providing your services in any skill you need to learn that skill. If you are looking to start making money by programming, you should master this skill first. Try to learn from different resources like Udemy or YouTube and start working as a programmer once you have enough command on your skill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build a Reputation as a Programmer
&lt;/h2&gt;

&lt;p&gt;Building a reputation is just like advertising yourself on social platforms. Start sharing your knowledge and projects you developed. In this way people will start knowing about you and this can be helpful to gain enough reputation in the field as a programmer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Freelance as a Programmer or Get Hired
&lt;/h2&gt;

&lt;p&gt;Once you have mastered the programming skill you have two options to make money. The first way of making money as a programmer is to start freelancing and work from home to earn some cash for yourself. The other way can be starting a job in a company and providing your programming services there.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Can a Programmer Start Making money?
&lt;/h2&gt;

&lt;p&gt;There are a number of ways to start your earning as a programmer. We will discuss here in this article every aspect of making money by programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Freelancing
&lt;/h2&gt;

&lt;p&gt;Freelancing is the most common way to start your earning by providing your skill services online. One of the benefits of freelancing is that you are open to working for anyone in the whole world. So, chances to get hired online increase instead of staying in a limited area and looking for a job. That’s why most of the programmers prefer freelancing instead of getting a job.&lt;/p&gt;

&lt;p&gt;As a freelancer you need to be very consistent and work hard. There are platforms like Fiverr, Upwork and Freelancer.com etc where you can find clients for yourself. You need to optimize your profiles in order to get hired. Use attractive and clear images that gain the attention of clients at first sight, and they prefer to visit your profile instead of others. Take the help of image editor and photo background remover platforms available online free of cost to design beautiful attractive profile images.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start Selling Programming Courses
&lt;/h2&gt;

&lt;p&gt;After the trends of the world have changed especially after the Corona Pandemic, there is a rush of people looking to learn different digital skills. As programming is the top rated high paying job so you can find students for yourself as a programmer and make money by transferring your valuable knowledge. Getting people around you will require some reputation as a programmer that you can gain by social media. Once you realize that you have enough connections with people, you can launch a paid programming course to make money by teaching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Develop Apps and Monetize Them
&lt;/h2&gt;

&lt;p&gt;Developing apps and monetizing them can be a passive source of income for you. As a developer you would not need to pay anyone for developing apps for you. You can do this task by yourself and monetize your apps by google. You will get paid by displaying ads on your application.&lt;/p&gt;

&lt;p&gt;The other way of earning by apps can be selling your app premium features. If your app is newly developed and doesn't have enough traffic, then you should offer giving free trials. Once your app users have been using premium features over the time and then you start selling them, they would not mind paying you. In this way you can be able to earn a handsome amount as a programmer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Utilize Social Media to Make Money Online
&lt;/h2&gt;

&lt;p&gt;Social media platforms have become a marketplace now. You can find clients on social media who are looking for a person to offer programming services. Even now companies too have started finding workers through social media. Most of the online companies and jobs might demand CV resumes to hire you like most of the jobs on LinkedIn need CV. So, you have to prepare your CV in advance so that you can send it as soon as possible when someone demands it. Use colorful beautiful templates and images of yourself in the CV to make it more effective. Online background remover and picture editors like Adobe Express can be very helpful tools in this regard. Remember that your social media profile is too Your CV so it is very important to optimize it also.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programming Blogs
&lt;/h2&gt;

&lt;p&gt;If you have creative writing abilities and can transfer your knowledge to written words you can start a programming blog website. Start sharing the solution to programming problems. Publishing some blogs will make you able to monetize your blog.&lt;/p&gt;

&lt;p&gt;Your blogs website is not only meant for writing programing blogs. You can start offering your services even on your website. The revenue you will earn from the clients through your own website will belong only to you so you will not need to pay fees and taxes to any platform. So, make a section of your blog website where customers can hire you for programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start a YouTube Programing Channel
&lt;/h2&gt;

&lt;p&gt;YouTube is a free source of learning therefore most people prefer it. As a programmer you can start a YouTube channel where you can start teaching online Programming. Once you have enough subscribers and watch time on your YouTube Channel you can monetize it. Your YouTube channel will be a handsome source of income once you start getting views.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R01Q5JwO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nlkwx407g15e703kcuoz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R01Q5JwO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nlkwx407g15e703kcuoz.jpg" alt="Image description" width="880" height="440"&gt;&lt;/a&gt;&lt;br&gt;
The world is making progress day by day. The future is of technology, and everything is going to be digital. It is a great opportunity for you to make yourself ready in advance. In this article we have shared some aspects of making money by programming. You need to stay consistent and put some effort into making money as a programmer.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>money</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>JavaScript Projects You Can Build to Perfect Your Coding Skills</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Mon, 11 Jul 2022 17:29:28 +0000</pubDate>
      <link>https://forem.com/naemazam/javascript-projects-you-can-build-to-perfect-your-coding-skills-1ldl</link>
      <guid>https://forem.com/naemazam/javascript-projects-you-can-build-to-perfect-your-coding-skills-1ldl</guid>
      <description>&lt;h2&gt;
  
  
  How to choose the right JavaScript project to learn faster?
&lt;/h2&gt;

&lt;p&gt;Now, the best way to learn JavaScript – or any other programming language – is to put in the time and effort to build tons of projects. Your time is limited, so you want to build JavaScript practice projects that are not too easy. After all, if you keep repeating things you already know, you are not making any progress towards your long-term coding goals. At the same time, you want to choose projects that are not too difficult, either. The trick is to find a project idea that is just a tad above your current skill level. Hence, the key is to start small and set realistic expectations for your learning path. The last thing you want is to start with an ambitious project and end up feeling frustrated when you get stuck.&lt;/p&gt;

&lt;p&gt;Visit my &lt;a href="https://github.com/naemazam"&gt;GitHub&lt;/a&gt; for More projects. &lt;/p&gt;

&lt;h2&gt;
  
  
  JavaScript projects for beginners in 2023
&lt;/h2&gt;

&lt;p&gt;Here are some fun and simple JavaScript projects with source code you can start building right now:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;JavaScript stopwatch&lt;/li&gt;
&lt;li&gt;Online Timer and Alarm Clock&lt;/li&gt;
&lt;li&gt;Soft UI calculator&lt;/li&gt;
&lt;li&gt;JavaScript drum kit&lt;/li&gt;
&lt;li&gt;Guess the Color game&lt;/li&gt;
&lt;li&gt;Hangman game&lt;/li&gt;
&lt;li&gt;Tic Tac Toe with Ai&lt;/li&gt;
&lt;li&gt;Pong game&lt;/li&gt;
&lt;li&gt;Pairs game&lt;/li&gt;
&lt;li&gt;Maze game&lt;/li&gt;
&lt;li&gt;Simon game&lt;/li&gt;
&lt;li&gt;Platformer game&lt;/li&gt;
&lt;li&gt;Tip calculator&lt;/li&gt;
&lt;li&gt;Palindrome checker&lt;/li&gt;
&lt;li&gt;To-do list&lt;/li&gt;
&lt;li&gt;JavaScript timeline&lt;/li&gt;
&lt;li&gt;JavaScript animated nav toggle&lt;/li&gt;
&lt;li&gt;JavaScript quiz&lt;/li&gt;
&lt;li&gt;JavaScript mouseover effect&lt;/li&gt;
&lt;li&gt;JavaScript weather app&lt;/li&gt;
&lt;li&gt;JavaScript browser code editor&lt;/li&gt;
&lt;li&gt;Rock Paper Scissors game&lt;/li&gt;
&lt;li&gt;Water Tank Utilities&lt;/li&gt;
&lt;li&gt;Fruit Ninja Game&lt;/li&gt;
&lt;li&gt;Decision Wheel&lt;/li&gt;
&lt;li&gt;Random Quran Ayat&lt;/li&gt;
&lt;li&gt;Online Chess Game &lt;/li&gt;
&lt;li&gt;Typing speed test&lt;/li&gt;
&lt;li&gt;Note-taking App&lt;/li&gt;
&lt;li&gt;Online Ludo Game&lt;/li&gt;
&lt;li&gt;Chrome Dinosaur Game&lt;/li&gt;
&lt;li&gt;terminal Portfolio Website&lt;/li&gt;
&lt;li&gt;Age Calculator&lt;/li&gt;
&lt;li&gt;Advance-password-strength-checker&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>naemazam</category>
    </item>
    <item>
      <title>10 Best Free WordPress Hosting Providers for 2022</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Mon, 28 Feb 2022 08:35:35 +0000</pubDate>
      <link>https://forem.com/naemazam/10-best-free-wordpress-hosting-providers-for-2022-205e</link>
      <guid>https://forem.com/naemazam/10-best-free-wordpress-hosting-providers-for-2022-205e</guid>
      <description>&lt;p&gt;Finding the right hosting provider is one of the first hurdles on the way to creating your WordPress site. You want the setup to be as easy as possible, and you want your site to perform well, but who needs another bill? &lt;/p&gt;

&lt;p&gt;A free WordPress hosting package can help you to get started instantly without spending a dime. If you want to start your site on a free hosting plan, we have compiled the best free WordPress hosting providers in this collection to help you get started with your new site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. HostAwesome&lt;/strong&gt;&lt;br&gt;
HostAwesome offers 100MB of storage and 2,000 page views as part of its free WordPress hosting plan. As your site grows, you can upgrade to any of its affordable premium plans as well. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. AccuWeb Hosting&lt;/strong&gt;&lt;br&gt;
AccuWeb runs servers equipped with pure SSDs, which means super fast load times, a great experience for your web visitors, and improved SEO performance. You get 2 GB of disk space, 30 GB of bandwidth, and 25 email accounts. In addition, there's the added security benefit of multi-layer DDos protection and a free backup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 000webhost&lt;/strong&gt;&lt;br&gt;
000webhost offers free hosting with no ads, 300MB of disk space, and 3GB of bandwidth. You also benefit from Cloudflare protection at no extra cost. If you need more features, their next tier is affordable and includes a free domain and 24/7 support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. FreeHostingNoAds&lt;/strong&gt;&lt;br&gt;
The title says it all. This hosting provider offers free hosting for your site without pesky ads or popups. You can use your own domain name with this hosting or get a free subdomain from them. It comes with free email hosting, 1GB of disk space, 5GB of bandwidth, and FTP and file manager access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. x10hosting&lt;/strong&gt;&lt;br&gt;
If you are looking for a free cloud hosting option, x10hosting provides a complete hosting package and includes one-click web software installation. It offers unlimited cloud hosting with SSD servers, which you would expect to find with premium hosting providers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Freehostia&lt;/strong&gt;&lt;br&gt;
Freehostia is another hosting provider that offers an ad-free WordPress hosting service without any cost. You can use the free one-click script installer, so you don't have to install WordPress manually. The free plan includes 5 domains, 250MB of disk space, 6GB of bandwidth, and 3 email accounts. You also get 24/7 support and MySQL storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. WordPlus.host&lt;/strong&gt;&lt;br&gt;
Ideal for personal blogs and similar sites, WordPlus.host offers much more than just free hosting. With NVMe SSD storage, you'll experience 10 times better performance than even the standard SSD. You also receive a CDN service for your site, SSL, and unlimited bandwidth, all free of cost. The only limitation is that the service provides only 200MB of disk space.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Byethost&lt;/strong&gt;&lt;br&gt;
A high-quality, free WordPress hosting provider without ads, Byethost offers 5GB of disk space, free 24/7 support, and email forwarding. With their Softaculous script installer, you can have WordPress running in one click. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Biz.nf&lt;/strong&gt;&lt;br&gt;
Biz.nf offers an easy-to-use free hosting service with a one-click WordPress installation and automatic configuration feature. It's unique in that it will also install high-value WordPress plugins to help you get your new site running quickly with all the essentials baked in. Biz.nf offers several resources: 1000MB of web space, 5000MB of data transfer, and a free domain name (.c1.biz).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. AwardSpace&lt;/strong&gt;&lt;br&gt;
With AwardSpace, you get one free domain (dx.am), can host up to 4 websites, and benefit from free 24/7 support. You won't be plagued with ads, and you will be able to install WordPress in a single click. Features include 1000 MB of disk space, 5 GB of bandwidth, and full MySQL database support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. 100 WebSpace&lt;/strong&gt;&lt;br&gt;
100 WebSpace comes with a long list of features including a quick, automated installation of WordPress and other PHP scripts. It provides 100 MB data storage, 3 GB of bandwidth, 3 email accounts, and 24/7 support.&lt;/p&gt;

&lt;p&gt;The downside is that it will show a small banner ad on each page to let people know that you host your site on this free hosting plan. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Free Hosting&lt;/strong&gt;&lt;br&gt;
Here's the deal about the hosting provider Free Hosting: They offer unmetered bandwidth capable of serving practically an unlimited amount of web traffic to an HTML site. For PHP-powered sites like WordPress, it translates to about 30,000 daily visitors. &lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>free</category>
      <category>hosting</category>
    </item>
    <item>
      <title>10 Best JavaScript Projects for Beginners </title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Sat, 26 Feb 2022 17:54:08 +0000</pubDate>
      <link>https://forem.com/naemazam/10-best-javascript-projects-for-beginners-23bl</link>
      <guid>https://forem.com/naemazam/10-best-javascript-projects-for-beginners-23bl</guid>
      <description>&lt;p&gt;Hey friends, today in this blog you’ll see the 10 Best JavaScript Projects or Examples for Beginners. &lt;/p&gt;

&lt;p&gt;I have created many blogs/videos on different JavaScript projects and in this blog, I have shown the 10 best projects out of them. &lt;/p&gt;

&lt;p&gt;If you want to view all JavaScript projects videos the click here to view the playlist on YouTube or if you want to view all JavaScript projects blogs then you can &lt;a href="https://github.com/naemazam"&gt;click here.&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Drag &amp;amp; Drop or Browse – File upload Feature&lt;/li&gt;
&lt;li&gt;Search Bar with Autocomplete Suggestions&lt;/li&gt;
&lt;li&gt;Quiz Web Application with Timer&lt;/li&gt;
&lt;li&gt;Minimal Image Comparison Slider&lt;/li&gt;
&lt;li&gt;Todo List Application with Localhost&lt;/li&gt;
&lt;li&gt;Check Network Status – Online or Offline&lt;/li&gt;
&lt;li&gt;Functional Pagination UI Design&lt;/li&gt;
&lt;li&gt;Tic Tac Toe Game in JavaScript&lt;/li&gt;
&lt;li&gt;Responsive Image Lightbox Gallery&lt;/li&gt;
&lt;li&gt;Awesome Poll UI Design -Poll Widget&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Minimal Blockchain</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Sun, 20 Feb 2022 13:49:46 +0000</pubDate>
      <link>https://forem.com/naemazam/minimal-blockchain-1ma4</link>
      <guid>https://forem.com/naemazam/minimal-blockchain-1ma4</guid>
      <description>&lt;h1&gt;
  
  
  What is blockchain?
&lt;/h1&gt;

&lt;p&gt;Blockchain is a system of recording information in a way that makes it difficult or impossible to change, hack, or cheat the system.&lt;/p&gt;

&lt;p&gt;A blockchain is essentially a digital ledger of transactions that is duplicated and distributed across the entire network of computer systems on the blockchain. Each block in the chain contains a number of transactions, and every time a new transaction occurs on the blockchain, a record of that transaction is added to every participant’s ledger. The decentralised database managed by multiple participants is known as Distributed Ledger Technology (DLT).&lt;/p&gt;

&lt;p&gt;Blockchain is a type of DLT in which transactions are recorded with an immutable cryptographic signature called a  &lt;strong&gt;Hash&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Hashing
&lt;/h1&gt;

&lt;p&gt;We  want a ‘key’ that can represent a block of data. We want a key that is  &lt;strong&gt;hard to fake or brute force, but is easy to verify&lt;/strong&gt;. This is where hashing comes in. Hashing is a function H(x) that satisfies the following properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  The same input  &lt;code&gt;x&lt;/code&gt;  always produce the same output  &lt;code&gt;H(x)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  Different (or even similar) inputs  &lt;code&gt;x&lt;/code&gt;  should produce  &lt;strong&gt;&lt;em&gt;entirely&lt;/em&gt;&lt;/strong&gt;  different outputs  &lt;code&gt;H(x)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  Computationally easy to get  &lt;code&gt;H(x)&lt;/code&gt;from input  &lt;code&gt;x&lt;/code&gt;, but intractable to reverse the process, i.e. getting the input  &lt;code&gt;x&lt;/code&gt;  from a known hash  &lt;code&gt;H&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is how Google stores your ‘password’ without actually storing your password. They store the hash of your password  &lt;code&gt;H(password)&lt;/code&gt;  such that they can verify your password by hashing your input and compare. Without going into too much details, we will use SHA-256 algorithm to hash our block.&lt;/p&gt;

&lt;h1&gt;
  
  
  A Minimal Block
&lt;/h1&gt;

&lt;p&gt;Let’s make an object class called  &lt;code&gt;MinimalBlock()&lt;/code&gt;. It is initialized by providing an  &lt;code&gt;index&lt;/code&gt;, a  &lt;code&gt;timestamp&lt;/code&gt;, some  &lt;code&gt;data&lt;/code&gt;  you want to store, and something called  &lt;code&gt;previous_hash&lt;/code&gt;. The previous hash is the hash (key) of the previous block, and it acts as a pointer such that we know which block is the previous block, and hence how blocks are connected.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;hashlib&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MinimalBlock&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;previous_hash&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;timestamp&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;previous_hash&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;previous_hash&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;hash&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;hashing&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hashing&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;hashlib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sha256&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'utf-8'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'utf-8'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'utf-8'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;previous_hash&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'utf-8'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In other words, &lt;code&gt;Block[x]&lt;/code&gt; contains index &lt;code&gt;x&lt;/code&gt;, a timestamp, some data, and the hash of the previous block x-1 &lt;code&gt;H(Block[x-1])&lt;/code&gt;. Now that this block is complete, it can be hashed to generate &lt;code&gt;H(Block[x])&lt;/code&gt; as a pointer in the next block.&lt;/p&gt;

&lt;h1&gt;
  
  
  A Minimal Chain
&lt;/h1&gt;

&lt;p&gt;Blockchain is essentially a chain of blocks, and the connection is made by storing the hash of the previous block. Therefore, a chain can be implemented using a Python list, and  &lt;code&gt;blocks[i]&lt;/code&gt;  representing the {i}th block.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MinimalChain&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="c1"&gt;# initialize when creating a chain
&lt;/span&gt;
&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_genesis_block&lt;/span&gt;&lt;span class="p"&gt;()]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_genesis_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;MinimalBlock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;utcnow&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;

&lt;span class="s"&gt;'Genesis'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="s"&gt;'arbitrary'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;add_block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;MinimalBlock&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;

&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;datetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;utcnow&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nb"&gt;hash&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_chain_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="c1"&gt;# exclude genesis block
&lt;/span&gt;
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="n"&gt;flag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;flag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;'Wrong block index at block &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nb"&gt;hash&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;previous_hash&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;flag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;'Wrong previous hash at block &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nb"&gt;hash&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;hashing&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;

&lt;span class="n"&gt;flag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;'Wrong hash at block &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;flag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;'Backdating at block &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;flag&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fork&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'latest'&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;head&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'latest'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'whole'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'all'&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;deepcopy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# deepcopy since they are mutable
&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;deepcopy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_root&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;chain_2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="n"&gt;min_chain_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_chain_size&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;chain_2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get_chain_size&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;min_chain_size&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;chain_2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fork&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fork&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min_chain_size&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;When we initialize a chain, we automatically assign a 0th block (also known as Genesis block) to the chain with function &lt;code&gt;get_genesis_block()&lt;/code&gt;. This block marks the start of your chain. Note that &lt;code&gt;previous_hash&lt;/code&gt; is arbitrary in the Genesis block. Adding a block can be achieved by calling &lt;code&gt;add_block()&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Data Verification
&lt;/h1&gt;

&lt;p&gt;Data integrity is important to databases, and blockchains provide an easy way to verify all the data. In function  &lt;code&gt;verify()&lt;/code&gt;, we check the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Index in  &lt;code&gt;blocks[i]&lt;/code&gt;  is  &lt;code&gt;i&lt;/code&gt;, and hence no missing or extra blocks.&lt;/li&gt;
&lt;li&gt;  Compute block hash  &lt;code&gt;H(blocks[i])&lt;/code&gt;  and cross-check with the recorded hash. Even if a single bit in a block is altered, the computed block hash would be entirely different.&lt;/li&gt;
&lt;li&gt;  Verify if  &lt;code&gt;H(blocks[i])&lt;/code&gt;  is correctly stored in next block’s  &lt;code&gt;previous_hash&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;  Check if there is any backdating by looking into the timestamps.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Forking
&lt;/h1&gt;

&lt;p&gt;In some case you might want to branch out of a chain. This is called forking as demonstrated as  &lt;code&gt;fork()&lt;/code&gt;in the code. You would copy a chain (or root of a chain) and then go separate ways. It is vital to use  &lt;code&gt;deepcopy()&lt;/code&gt;  in Python since Python list is mutable.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Takeaway
&lt;/h1&gt;

&lt;p&gt;Hashing a block creates a unique identifier of a block, and a block’s hash forms part of the next block to establish a link between blocks. Only the same data would create the same hash.&lt;/p&gt;

&lt;p&gt;If you want to amend data in the 3rd block, the hash of the 3rd block is changed and the  &lt;code&gt;previous_hash&lt;/code&gt;  in the 4th block needs to change as well.  &lt;code&gt;previous_hash&lt;/code&gt;is part of the 4th block, and hence its hash changes as well, and so on.&lt;/p&gt;

</description>
      <category>minimal</category>
      <category>python</category>
      <category>blockchain</category>
      <category>naemazam</category>
    </item>
    <item>
      <title>Top Python Project Ideas: Beginners Level [2022]</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Sun, 23 Jan 2022 04:00:48 +0000</pubDate>
      <link>https://forem.com/naemazam/top-python-project-ideas-beginners-level-2022-jba</link>
      <guid>https://forem.com/naemazam/top-python-project-ideas-beginners-level-2022-jba</guid>
      <description>&lt;h2&gt;
  
  
  Python is one of the most popular programming languages currently. It looks like this trend is about to continue in 2022 and beyond. So, if you are a Python beginner, the best thing you can do is work on some real-time Python project ideas.
&lt;/h2&gt;

&lt;p&gt;But first, let’s address the more pertinent question that must be lurking in your mind: &lt;strong&gt;why to build Python projects?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When it comes to careers in software development, it is a must for aspiring developers to work on their own projects. Developing real-world projects is the best way to hone your skills and materialize your theoretical knowledge into practical experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you work on live projects, it will help:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;To boost your confidence&lt;/strong&gt;  – As you work with real tools and technologies, you will become more confident about your strengths while also identifying your weak points.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;To experiment&lt;/strong&gt;  – You will need to acquaint yourself with new tools and technologies while working on a python project. The more you learn about cutting-edge development tools, environments, libraries, the broader will be your scope for experimentation with your projects. The more you experiment with different  &lt;strong&gt;python project ideas&lt;/strong&gt;, the more knowledge you gain.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;To know the nitty-gritty of SDLC&lt;/strong&gt;  – When you develop a project from scratch, you will gain a deeper understanding of how the software development life cycle functions. With time you will learn how to plan before writing the code, execute the code, manage the testing process, fix bugs, deploy the code, and also update your software product from time to time.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;To master the concepts of programming&lt;/strong&gt;  – One of the biggest advantages of building real-world projects is that with continuous practice, you will master the concepts and patterns of programming in different languages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Top 10 Projects Idea
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Mad Libs Generator&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of the best ideas to start experimenting you hands-on  &lt;strong&gt;python projects for students&lt;/strong&gt;  is working on Mad Libs Generator. This is the perfect project for beginners who are just starting out with software development. Primarily focused on strings, variables, and concatenation, this project will teach you how to manipulate user-inputted data. The program design is such that it will ask users to enter a series of inputs that will be considered as a Mad Lib. &lt;/p&gt;

&lt;p&gt;The input could be anything, an adjective, a noun, a pronoun, etc. Once all the inputs are entered, the application will take the data and arrange the inputs into a story template form. Sound fun, right?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Number Guessing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is one of the  &lt;strong&gt;simple python projects&lt;/strong&gt;  yet an exciting one. You can even call it a mini-game. Make a program in which the computer randomly chooses a number between 1 to 10, 1 to 100, or any range. Then give users a hint to guess the number. Every time the user guesses wrong, he gets another clue, and his score gets reduced. The clue can be multiples, divisible, greater or smaller, or a combination of all.&lt;br&gt;
You will also need functions to compare the inputted number with the guessed number, to compute the difference between the two, and to check whether an actual number was inputted or not in this python project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Text-based Adventure Game&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is a basic version of the Adventure game. It is completely text-based. In this version of the game, users can move about through different rooms within a single setting, and based on the user input, it will provide descriptions for each room. This is one of the interesting python projects.&lt;br&gt;
Movement direction is crucial here – you must create walls and set the directions in which the users can move through the rooms, set movement restrictions, and also include a tracker that can track how far a user has walked or moved in the game. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Dice Rolling Simulator&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As the name of the program suggests, we will be imitating a rolling dice. This is one of the interesting python projects and will generate a random number each dice the program runs, and the users can use the dice repeatedly for as long as he wants. When the user rolls the dice, the program will generate a random number between 1 and 6 (as on a standard dice).&lt;/p&gt;

&lt;p&gt;The number will then be displayed to the user. It will also ask users if they would like to roll the dice again. The program should also include a function that can randomly grab a number within 1 to 6 and print it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Hangman&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is more of a “guess the word” game. The core concepts you have to use while developing this project are variables, random, integer, strings, char, input and output, and boolean. In the game, users have to enter letter guesses, and each user will have a limited number of guesses (a counter variable is needed for limiting the guesses). This is one of the interesting python projects to begin with.&lt;/p&gt;

&lt;p&gt;You can create a pre-organized list of words that users can grab words from. Also, you must include specific functions to check whether or not a user has entered a single letter or if the input letter is in the hidden word, to if the user has actually inputted a single letter, and to print the correct outcomes (letters).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;6. Contact Book&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is one of the excellent python projects for beginners. Everyone uses a contact book to save contact details, including name, address, phone number, and even email address. This is a command-line project where you will design a contact book application that users can use to save and find contact details. The application should also allow users to update contact information, delete contacts, and list saved contacts. The SQLite database is the ideal platform for saving contacts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;7. Email Slicer&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is one of the convenient python projects that has a lot of use in the future. The program helps get you the username and domain name from an email address. You can even customize the application and send a message to the host with this information.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;8. Binary search algorithm&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Have you ever heard the proverb, “finding a needle in a haystack.” This program is designed to do just that- by using a binary search algorithm. You can create a list of random numbers between 0 to 100, with every succeeding number having a difference of 2 between them. When the user inputs a random number, the program will check if that number is included in the list. It will do so by creating two halves of the list. If the program finds the number in the first half of the list, it will eliminate the other half and vice versa. The search will continue until the program finds the number input of the user or until the subarray size becomes 0 (this means that the number is not in the list). This python project idea will help you create an implement an algorithm that searches for an element in a list.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;9. Desktop Notifier App&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Have you ever wondered how notifications work? This small python project idea will throw some light on this. The desktop notifier apps run on your system and send you a piece of information after a fixed interval of time. We suggest you use libraries such as notify2, requests, etc. to build such a program.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;10. Python Story Generator&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is a fun but exciting python project which will work wonders with kids. In a nutshell, the program will ask users for inputs such as the name of a place, action, etc. and then build a story around the data. The story will be the same always but with little variation with the input.&lt;/p&gt;

&lt;h2&gt;
  
  
  Follow Me On &lt;a href="https://github.com/naemazam"&gt;GitHub&lt;/a&gt; To Get All Project Free!!!!
&lt;/h2&gt;

</description>
      <category>python</category>
      <category>project</category>
      <category>beginners</category>
      <category>naemazam</category>
    </item>
    <item>
      <title>How to install LEMP in Ubuntu</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Fri, 07 Jan 2022 06:52:09 +0000</pubDate>
      <link>https://forem.com/naemazam/how-to-install-lemp-in-ubuntu-f38</link>
      <guid>https://forem.com/naemazam/how-to-install-lemp-in-ubuntu-f38</guid>
      <description>&lt;p&gt;A LEMP software stack is a gathering of open source programming that is ordinarily installed together to enable a server to have dynamic sites and web applications. This term is really an acronym which speaks to the Linux working framework, with the ENginx web server (which replaces the Apache part of a LAMP stack).&lt;/p&gt;

&lt;p&gt;First, update the system.&lt;/p&gt;

&lt;p&gt;sudo apt-get update&lt;/p&gt;

&lt;p&gt;Then Install Nginx in your system.&lt;/p&gt;

&lt;p&gt;sudo apt-get install nginx&lt;/p&gt;

&lt;p&gt;We can make autostart nginx in nginx by&lt;/p&gt;

&lt;p&gt;sudo systemctl enable nginx&lt;/p&gt;

&lt;p&gt;Then start nginx with the following command&lt;/p&gt;

&lt;p&gt;sudo systemctl start nginx&lt;/p&gt;

&lt;p&gt;Now check out its status by typing following command in terminal.&lt;/p&gt;

&lt;p&gt;systemctl status nginx&lt;/p&gt;

&lt;p&gt;Then, you will get following output&lt;/p&gt;

&lt;p&gt;● nginx.service - A high performance web server and a reverse proxy server&lt;br&gt;
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)&lt;br&gt;
   Active: active (running) since Sat 2016-06-04 08:31:23 EDT; 1 day 2h ago&lt;br&gt;
 Main PID: 298 (nginx)&lt;br&gt;
   CGroup: /system.slice/nginx.service&lt;br&gt;
     ├─298 nginx: master process /usr/sbin/nginx -g daemon on; master_process on&lt;br&gt;
     └─299 nginx: worker process&lt;/p&gt;

&lt;p&gt;You need to give permission to owner of a root directory&lt;/p&gt;

&lt;p&gt;sudo chown www-data /usr/share/nginx/html -R&lt;/p&gt;

&lt;p&gt;While typing [ localhost / Ipaddress ] in your browser. &lt;/p&gt;

&lt;p&gt;Lets Start MariaDB. MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL.&lt;/p&gt;

&lt;p&gt;sudo apt install mariadb-server mariadb-client&lt;/p&gt;

&lt;p&gt;Run MariaDB with this command.&lt;/p&gt;

&lt;p&gt;sudo systemctl start mysql &lt;/p&gt;

&lt;p&gt;sudo systemctl enable mysql&lt;/p&gt;

&lt;p&gt;After install MariaDB will automatically start.&lt;/p&gt;

&lt;p&gt;systemctl status mysql&lt;/p&gt;

&lt;p&gt;OUTPUT:&lt;/p&gt;

&lt;p&gt;● mysql.service - LSB: Start and stop the mysql database server daemon&lt;br&gt;
 Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)&lt;br&gt;
 Active: active (running) since Wed 2016-04-20 18:52:01 EDT; 1min 30s ago&lt;br&gt;
 Docs: man:systemd-sysv-generator(8)&lt;/p&gt;

&lt;p&gt;Now, Run the installation of MariaDB&lt;/p&gt;

&lt;p&gt;sudo mysql_secure_installation&lt;/p&gt;

&lt;p&gt;OUTPUT&lt;/p&gt;

&lt;p&gt;In order to log into MariaDB to secure it, we'll need the current&lt;br&gt;
password for the root user. If you've just installed MariaDB, and&lt;br&gt;
you haven't set the root password yet, the password will be blank,&lt;br&gt;
so you should just press enter here.&lt;/p&gt;

&lt;p&gt;Enter current password for root (enter for none): &lt;strong&gt;## Press Enter&lt;/strong&gt;&lt;br&gt;
OK, successfully used password, moving on...&lt;/p&gt;

&lt;p&gt;Setting the root password ensures that nobody can log into the MariaDB&lt;br&gt;
root user without the proper authorisation.&lt;/p&gt;

&lt;p&gt;Set root password? [Y/n]&lt;strong&gt;## Press Enter&lt;/strong&gt;&lt;br&gt;
New password:&lt;strong&gt;##  Enter password&lt;/strong&gt;&lt;br&gt;
Re-enter new password:  &lt;strong&gt;## Re-enter password&lt;/strong&gt;&lt;br&gt;
Password updated successfully!&lt;br&gt;
Reloading privilege tables..&lt;br&gt;
 ... Success!&lt;/p&gt;

&lt;p&gt;By default, a MariaDB installation has an anonymous user, allowing anyone&lt;br&gt;
to log into MariaDB without having to have a user account created for&lt;br&gt;
them. This is intended only for testing, and to make the installation&lt;br&gt;
go a bit smoother. You should remove them before moving into a&lt;br&gt;
production environment.&lt;/p&gt;

&lt;p&gt;Remove anonymous users? [Y/n]&lt;strong&gt;## Press Enter&lt;/strong&gt;&lt;br&gt;
 ... Success!&lt;/p&gt;

&lt;p&gt;Normally, root should only be allowed to connect from 'localhost'. This&lt;br&gt;
ensures that someone cannot guess at the root password from the network.&lt;/p&gt;

&lt;p&gt;Disallow root login remotely? [Y/n]&lt;strong&gt;## Press Enter&lt;/strong&gt;&lt;br&gt;
 ... Success!&lt;/p&gt;

&lt;p&gt;By default, MariaDB comes with a database named 'test' that anyone can&lt;br&gt;
access. This is also intended only for testing, and should be removed&lt;br&gt;
before moving into a production environment.&lt;/p&gt;

&lt;p&gt;Remove test database and access to it? [Y/n]&lt;strong&gt;## Press Enter&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dropping test database...
... Success!&lt;/li&gt;
&lt;li&gt;Removing privileges on test database...
... Success!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reloading the privilege tables will ensure that all changes made so far&lt;br&gt;
will take effect immediately.&lt;/p&gt;

&lt;p&gt;Reload privilege tables now? [Y/n]&lt;strong&gt;## Press Enter&lt;/strong&gt;&lt;br&gt;
 ... Success!&lt;/p&gt;

&lt;p&gt;Cleaning up...&lt;/p&gt;

&lt;p&gt;All done! If you've completed all of the above steps, your MariaDB&lt;br&gt;
installation should now be secure.&lt;/p&gt;

&lt;p&gt;Thanks for using MariaDB!&lt;/p&gt;

&lt;p&gt;Now, Let’s start install PHP&lt;/p&gt;

&lt;p&gt;sudo apt install php7.0-fpm php7.0-mbstring php7.0-xml php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl&lt;/p&gt;

&lt;p&gt;Start PHP&lt;/p&gt;

&lt;p&gt;sudo systemctl start php7.0-fpm&lt;/p&gt;

&lt;p&gt;After this, check status in the terminal.&lt;/p&gt;

&lt;p&gt;systemctl status php7.0-fpm&lt;/p&gt;

&lt;p&gt;OUTPUT&lt;/p&gt;

&lt;p&gt;● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager&lt;br&gt;
 Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor pre&lt;br&gt;
set: enabled)&lt;br&gt;
 Active: active (running) since Wed 2016-04-20 19:21:05 EDT; 2s ago&lt;/p&gt;

&lt;p&gt;Make default Nginx Block.&lt;/p&gt;

&lt;p&gt;sudo rm /etc/nginx/sites-enabled/default&lt;/p&gt;

&lt;p&gt;Create a new Nginx Block&lt;/p&gt;

&lt;p&gt;sudo nano /etc/nginx/conf.d/default.conf&lt;/p&gt;

&lt;p&gt;paste the following text in that default.conf file&lt;/p&gt;

&lt;p&gt;server {&lt;br&gt;
  listen 80;&lt;br&gt;
  listen [::]:80;&lt;br&gt;
  server_name 12.34.56.78;&lt;br&gt;
  root /usr/share/nginx/html/;&lt;br&gt;
  index index.php index.html index.htm index.nginx-debian.html;&lt;/p&gt;

&lt;p&gt;location / {&lt;br&gt;
    try_files $uri $uri/ =404;&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;error_page 404 /404.html;&lt;br&gt;
  error_page 500 502 503 504 /50x.html;&lt;/p&gt;

&lt;p&gt;location = /50x.html {&lt;br&gt;
    root /usr/share/nginx/html;&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;location ~ .php$ {&lt;br&gt;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;&lt;br&gt;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br&gt;
    include fastcgi_params;&lt;br&gt;
    include snippets/fastcgi-php.conf;&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;location ~ /.ht {&lt;br&gt;
    deny all;&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Save and close the file and reload it.&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>lamp</category>
      <category>mariadb</category>
      <category>naemazam</category>
    </item>
    <item>
      <title>Final Year Projects for Computer Science and IT Students 2022-2023</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Tue, 14 Dec 2021 11:01:34 +0000</pubDate>
      <link>https://forem.com/naemazam/final-year-projects-for-computer-science-and-it-students-2022-2023-2in6</link>
      <guid>https://forem.com/naemazam/final-year-projects-for-computer-science-and-it-students-2022-2023-2in6</guid>
      <description>&lt;p&gt;This article list some projects that can be used for Final Year Projects for IT (Information Technology) and Computer Science students. The projects are developed or written using &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;PHP, &lt;/li&gt;
&lt;li&gt;Visual Basic &lt;/li&gt;
&lt;li&gt;.NET, &lt;/li&gt;
&lt;li&gt;C#, &lt;/li&gt;
&lt;li&gt;Python.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These projects will help you to enhance or your knowledge and skills in developing software-based, web-based, or online applications. You can also use the projects as the reference that might be related to your current projects.&lt;/p&gt;

&lt;p&gt;The projects are shared by different developers which I can say that it could be great to learn to different programmers that have different skills set, nature of coding, and techniques.&lt;/p&gt;

&lt;p&gt;All projects I will Upload On My &lt;a href="https://github.com/naemazam"&gt;GitHub&lt;/a&gt;, keep following Me. Feel free to explore and download your desired projects that can be useful in your Final Year Project.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  VB.Net
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Hotel Management System in VB.Net Integrated with Bunifu Framework and MySQL Database
&lt;/h2&gt;

&lt;p&gt;This Hotel Management System is a software-based system that is made of VB.NET, MySQL Database, and Bunifu Framework to make the design animated. The main goal of the system is to help properly manage the hotel operations and functions to optimize them for greater stability and more profit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bakeshop Inventory System in VB.Net and MS Access Database
&lt;/h2&gt;

&lt;p&gt;The Bakeshop Inventory System is a software-based system specially designed for a Bakeshop business and for the inventory process. This system will be able to track the daily, weekly, monthly, and yearly inventory of products.&lt;/p&gt;

&lt;h2&gt;
  
  
  Curriculum Evaluation System using VB.NET
&lt;/h2&gt;

&lt;p&gt;This VB.NET and MySQL Database Project is entitled Curriculum Evaluation System. It is a user-friendly system that aims to help the school staff or admin reduce their time in evaluating a student&lt;/p&gt;

&lt;h2&gt;
  
  
  Drug Store's Sales and Inventory Management System using VB.NET
&lt;/h2&gt;

&lt;p&gt;This is a software-based program called Drug Store's Sales and Inventory Management System. This project was developed using VB.NET and MS Access Database. This is a simple sales and inventory system that can help certain drug stores or Pharmacies to manage their Medicinal Drugs stocks and also their Sales Transaction&lt;/p&gt;

&lt;h2&gt;
  
  
  Leave Monitoring System in VB.Net and Bunifu Frameworks
&lt;/h2&gt;

&lt;p&gt;Leave Monitoring System is a software-based system that is made of VB.NET, MySQL database, and Bunifu Frameworks to make the user interface flat-based and animated. The main goal is to manage all employee information in just a breeze. This system provides transparency and increases employee satisfaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Library Management System in VB.Net, MySQL Database, and Bunifu Framework
&lt;/h2&gt;

&lt;p&gt;This Library Management System is a software-based system that is made of VB.Net, MySQL database, and Bunifu Framework that helps the design more elegant for the user interface. The main goal of this system is to increase your library’s efficiency and save a lot of time for both librarians and users. The functions are very user-friendly that whenever the user uses this system, it helps the user find resources for reading, learning, and teaching with ease.&lt;/p&gt;

&lt;h2&gt;
  
  
  Salary Management System using VB.NET and MS SQL Server
&lt;/h2&gt;

&lt;p&gt;This project is based on the concept of the account. This project is a Salary Management System which is a Database system that can be used for managing employee Salary Details. It is a multi-user system and can be used by hundreds of users at the same time.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  PHP
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Billing System Project in PHP
&lt;/h2&gt;

&lt;p&gt;Many students were asking me to provide free source code of a simple inventory system using PHP/MySQL tutorial. So, I come with this PHP billing system free download. Invoicing and billing applications for different business purposes helps mainly the service providers and freelancers to manage, send professional invoices online, and track their status. Generally, all the small companies in various countries facing various issues for managing and tracking the invoice status of customers, which mostly back to the lack of adopting new technology in these companies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Courier Management System using PHP/MySQLi
&lt;/h2&gt;

&lt;p&gt;The Courier Management System is a simple PHP/MySQLi project that helps a courier company or businesses manage their customers' parcels or packages details. The system stores all the branches or the company that can be also used when setting a destination where the recipient will pick up their packages or parcels. The system has a tracking feature where can help to monitor the movement of the customer's parcel. The system has 2 types of users which are the Admin user and the Branch Staff user.&lt;/p&gt;

&lt;h2&gt;
  
  
  Web-based Inventory Management System in PHP/MySQLi
&lt;/h2&gt;

&lt;p&gt;The Inventory Management System in PHP/MySQLi contains two sections; the admin section and the user section. Here, the admin plays a vital role in all of the management of the Inventory Management System in PHP/MySQLi. It has the ability to manage features such as editing and updating the content of the website, managing orders, managing products, managing, categories, managing brands, and managing all of the employees of the company.&lt;/p&gt;

&lt;h2&gt;
  
  
  Online Flight Booking System using PHP/MySQL
&lt;/h2&gt;

&lt;p&gt;The Online Flight Booking System is a project that will help the airline ticket booking business provides its clients with an easy way and automated processing system online. This project has 2 sides of the user's restriction, which are the admin and the client/website visitor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Human Resource Information System Using PHP
&lt;/h2&gt;

&lt;p&gt;This project is entitled Human Resource Information System and was developed using PHP. This web application is a great help for our own company and can track each employee what time, the date he can be assigned to different branches and I know what branch he used to be and so on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Customer Relationship Management (CRM) System in PHP
&lt;/h2&gt;

&lt;p&gt;This is a simple PHP Project entitled Customer Relationship Management (CRM) System. This system provides a certain company an online platform to manage interactions with their customers or potential customers. The system allows the customer/potential customers to request a quotation for the services they selected in the system. The system also has a ticketing feature which is mainly built to address the concerns of their customers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Expense Monitoring System Project in PHP
&lt;/h2&gt;

&lt;p&gt;This Project expense Monitoring System project is designed to monitor the company expenses. With this project, the company will no longer find it difficult to encode the daily expenses by the project. This system can really help those Construction companies monitor their daily expenses and consolidate them on a real-time basis.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hotel and Lodge Management System using PHP
&lt;/h2&gt;

&lt;p&gt;The Hotel and Lodge Booking Management System is a software web application. Presently this web application will offer Dashboard, Customer Details, Room Details, Currency Details, Room Booking Details, Tax Details, Reports, Setting. So for all types of hotels and Lodge Business owners can use this system. Apart from this in each section, proper reports are provided to know Customer Report, Booking Report, Payment Reports, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Game Result Matrix System using PHP
&lt;/h2&gt;

&lt;p&gt;This system mainly generates reports of the specific event/tournament result. The system was built to store and generate the tournament/events Game Results of the annual multi-sport event for young athletes such as the School Intramurals, District Meet, Area Meet, National Games, and many more. This system generates game results reports such as Medalist, Qualifiers, and Official Results.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  C
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Point of Sale (POS) in C# and SQL Server Integrated with Bunifu Frameworks
&lt;/h2&gt;

&lt;p&gt;If you are looking for a Point of Sale for your small business, this one is just right for you. It is very important to have a Point of Sale system for a retail store because it ensures that you can track your sales and makes sure that your store operations run smoothly. By using this system, you will be able to save a lot of time and allows your business to boost its service quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enrollment System in C# and MySQL Database
&lt;/h2&gt;

&lt;p&gt;If you are looking for an Automated Enrollment System, well this one is just right for you. This Enrollment System has the capability of reducing the time and effort in the entire enrollment process. Mean to say, this can solve the school’s lack of manpower and time-consuming system. With the help of this system, you can also eliminate unnecessary paperwork, this has brought a new level of enrollment transaction because it is quick and automated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payroll System Using C# And MySQL Database
&lt;/h2&gt;

&lt;p&gt;This Payroll System Project is a software-based system that is designed in a flat-based desktop application. This system can handle tasks such as managing the employees’ information and their corresponding payroll every week and month. This is a user-friendly system that the user can easily determine what they are going to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Modern Employee Management Software Using C#.net and Bunifu Framework
&lt;/h2&gt;

&lt;p&gt;The main goal of this Modern Employee Management Software is to simplify the process of record maintenance of employees and help manage properly the records of every employee in a company. This is a user-friendly system that functions such as tracking employee data, uploading pdf files to an employee and many more can just learn in no time. In that way, you will be able to save a lot of time and effort.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Python
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Student Record Information System using Python
&lt;/h2&gt;

&lt;p&gt;The Student Record Information System was created in a console application, the user can access the system by entering user login information. The user can do many things in the system, he/she can add new student record and display student list. This system can provide you a simple function that can enable you to handle and mange the record of all student within the class. This will efficiently and effectively fasten your working process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inventory Management System using Python
&lt;/h2&gt;

&lt;p&gt;The Inventory Management System was created in a console application, the user can openly-accessed the system without inputting any login information. The user can do many things in the system, he/she can add new inventory, update current stocks, and generate a full inventory list report. This can system can help you when you want to store some important data that has more quantity value. The Inventory Management System was developed using simple python coding techniques that can help beginners to understand the flow of the system functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Billing System using Python
&lt;/h2&gt;

&lt;p&gt;The Billing System was created in a simple windowed console application, the user openly accesses the features of the system without using user login information. The user can enter the customer's name first in order to purchase an item. After entering the name customer must select an item in the menu option to proceed. This system is very helpful to a person who has an enterprise business this will eventually make your transaction faster and effective. The Billing System was made in a simple python coding structure so programmers can understand the flow of it.&lt;/p&gt;

</description>
      <category>python</category>
      <category>php</category>
      <category>projects</category>
    </item>
    <item>
      <title>Top Mini C/C++ Project Idea</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Thu, 09 Dec 2021 04:42:23 +0000</pubDate>
      <link>https://forem.com/naemazam/top-mini-cc-project-idea-1paa</link>
      <guid>https://forem.com/naemazam/top-mini-cc-project-idea-1paa</guid>
      <description>&lt;p&gt;C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions.&lt;/p&gt;

&lt;p&gt;so making C/C++ label project is Important. Let me give you some idea about This &lt;/p&gt;

&lt;h2&gt;
  
  
  C projects
&lt;/h2&gt;

&lt;p&gt;The C projects enlisted below are mini projects, mini games, and small applications. Most of these projects utilize functions, file handling, and data structure effectively. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bank Management System in C&lt;/li&gt;
&lt;li&gt;Calendar Application   in C&lt;/li&gt;
&lt;li&gt;Contact Management System  in C&lt;/li&gt;
&lt;li&gt;Cricket Score Sheet  in C&lt;/li&gt;
&lt;li&gt;Customer Billing System  in C&lt;/li&gt;
&lt;li&gt;Cyber Management System  in C&lt;/li&gt;
&lt;li&gt;Department Store Management System  in C&lt;/li&gt;
&lt;li&gt;Employee Record System  in C&lt;/li&gt;
&lt;li&gt;Hangman Game  in C&lt;/li&gt;
&lt;li&gt;Hospital Management System  in C&lt;/li&gt;
&lt;li&gt;Library Management System  in C&lt;/li&gt;
&lt;li&gt;Medical Store Management System  in C&lt;/li&gt;
&lt;li&gt;Modern Periodic Table  in C&lt;/li&gt;
&lt;li&gt;Pacman Game  in C&lt;/li&gt;
&lt;li&gt;Personal Diary Management System  in C&lt;/li&gt;
&lt;li&gt;Phonebook Application  in C&lt;/li&gt;
&lt;li&gt;Quiz Game  in C&lt;/li&gt;
&lt;li&gt;School Billing System  in C&lt;/li&gt;
&lt;li&gt;Snake Game  in C&lt;/li&gt;
&lt;li&gt;Student Record System  in C&lt;/li&gt;
&lt;li&gt;Telecom Billing System  in C&lt;/li&gt;
&lt;li&gt;Tic-Tac-Toe Game  in C&lt;/li&gt;
&lt;li&gt;Typing Tutor  in C&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  C++ Projects:
&lt;/h2&gt;

&lt;p&gt;Just like the C projects, the C++ projects enlisted below are mini projects – small games and applications. They are good for starters who are looking for reference projects to create a C++ mini-project of their own.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Snakes and Ladders Game in C&lt;/li&gt;
&lt;li&gt;Bike Race Game (using SDL) in C&lt;/li&gt;
&lt;li&gt;Database Management System (using wxWidgets) in C&lt;/li&gt;
&lt;li&gt;Fortune Teller (Predict Future) in C&lt;/li&gt;
&lt;li&gt;Helicopter Game (using SDL) in C&lt;/li&gt;
&lt;li&gt;Search Engine in C++&lt;/li&gt;
&lt;li&gt;Tank Game in C++&lt;/li&gt;
&lt;li&gt;Traffic Control Management System in C&lt;/li&gt;
&lt;li&gt;University Management System in C&lt;/li&gt;
&lt;li&gt;3D Bounce Ball Game in OpenGL&lt;/li&gt;
&lt;li&gt;Banking Record System&lt;/li&gt;
&lt;li&gt;Bookshop Management System&lt;/li&gt;
&lt;li&gt;Bus Reservation System&lt;/li&gt;
&lt;li&gt;Hotel Management System&lt;/li&gt;
&lt;li&gt;Payroll Management System&lt;/li&gt;
&lt;li&gt;Phonebook Management System&lt;/li&gt;
&lt;li&gt;Railway Reservation System&lt;/li&gt;
&lt;li&gt;Sales Management System&lt;/li&gt;
&lt;li&gt;Student Database Management System&lt;/li&gt;
&lt;li&gt;Student Report Card System&lt;/li&gt;
&lt;li&gt;Supermarket Billing System&lt;/li&gt;
&lt;li&gt;Telephone Directory System&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Some Advanced Projects in C and C++:
&lt;/h2&gt;

&lt;p&gt;These are some projects with wider scope, utilizing the advanced aspects and graphics of C and C++ programming.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Snakes and Ladders Game in C&lt;/li&gt;
&lt;li&gt;Bike Race Game (using SDL) in C++&lt;/li&gt;
&lt;li&gt;Database Management System (using wxWidgets) in C++&lt;/li&gt;
&lt;li&gt;Fortune Teller (Predict Future) in C++&lt;/li&gt;
&lt;li&gt;Helicopter Game (using SDL) in C++&lt;/li&gt;
&lt;li&gt;Search Engine in C++&lt;/li&gt;
&lt;li&gt;Tank Game in C++&lt;/li&gt;
&lt;li&gt;Traffic Control Management System in C++&lt;/li&gt;
&lt;li&gt;University Management System in C++&lt;/li&gt;
&lt;li&gt;3D Bounce Ball Game in OpenGL&lt;/li&gt;
&lt;li&gt;Copter Game (using Allegro) in C&lt;/li&gt;
&lt;li&gt;Balloon Shooting Game in C++&lt;/li&gt;
&lt;li&gt;Canteen Management System in C++&lt;/li&gt;
&lt;li&gt;Casino Game in C++&lt;/li&gt;
&lt;li&gt;Digital Clock in C++&lt;/li&gt;
&lt;li&gt;Memory Game in C++&lt;/li&gt;
&lt;li&gt;Music Store Management System in C++&lt;/li&gt;
&lt;li&gt;School Fee Inquiry Management System in C++&lt;/li&gt;
&lt;li&gt;Shuffle Game in C++&lt;/li&gt;
&lt;li&gt;Snakes and Ladders Game in C++&lt;/li&gt;
&lt;li&gt;Sudoku Game in C++&lt;/li&gt;
&lt;li&gt;Telephone Billing System in C++&lt;/li&gt;
&lt;li&gt;Travel Agency Management System in C++&lt;/li&gt;
&lt;li&gt;Airlines Reservation System&lt;/li&gt;
&lt;li&gt;ATM Banking System&lt;/li&gt;
&lt;li&gt;Cafeteria Order Management System&lt;/li&gt;
&lt;li&gt;Car Insurance System&lt;/li&gt;
&lt;li&gt;Car Rental System&lt;/li&gt;
&lt;li&gt;Clothing Store Management System&lt;/li&gt;
&lt;li&gt;College Management System&lt;/li&gt;
&lt;li&gt;Gym Management System&lt;/li&gt;
&lt;li&gt;Hostel Accommodation System&lt;/li&gt;
&lt;li&gt;Human Resource Management System&lt;/li&gt;
&lt;li&gt;Mess Management System&lt;/li&gt;
&lt;li&gt;Movie Ticket Booking System&lt;/li&gt;
&lt;li&gt;Pharmacy Management System&lt;/li&gt;
&lt;li&gt;Student Attendance Management System&lt;/li&gt;
&lt;li&gt;Supermarket Management System&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;So List is Going on, You can visit &lt;a href="https://github.com/naemazam"&gt;my GitHub&lt;/a&gt; I am uploading this Projects I hope This Will Helpful For Everyone, Free Source code :-)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>c</category>
      <category>codeblocks</category>
      <category>naemazam</category>
      <category>project</category>
    </item>
    <item>
      <title>Login Signup Form with Email Verification</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Tue, 30 Nov 2021 08:31:33 +0000</pubDate>
      <link>https://forem.com/naemazam/login-signup-form-with-email-verification-19d3</link>
      <guid>https://forem.com/naemazam/login-signup-form-with-email-verification-19d3</guid>
      <description>&lt;p&gt;Login Signup Form with Email Verification is a Working PHP based Sine Up from with Working OTP generating System, It's Working On Local Host.&lt;/p&gt;

&lt;p&gt;If You Don't Know How to configure XAMPP to send Mail from Localhost in PHP ? You can &lt;a href="https://dev.to/naemazam/how-to-configure-xampp-to-send-mail-from-localhost-in-php--382c"&gt;Read&lt;/a&gt; My Another Blog. &lt;/p&gt;

&lt;p&gt;Design Your Registration Home page Simple&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="s2"&gt;"controllerUserData.php"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; 
&lt;span class="nv"&gt;$email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$_SESSION&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'email'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nv"&gt;$password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$_SESSION&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'password'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$email&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;$password&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="nv"&gt;$sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"SELECT * FROM usertable WHERE email = '&lt;/span&gt;&lt;span class="nv"&gt;$email&lt;/span&gt;&lt;span class="s2"&gt;'"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;$run_Sql&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;mysqli_query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$con&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$sql&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$run_Sql&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="nv"&gt;$fetch_info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;mysqli_fetch_assoc&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$run_Sql&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nv"&gt;$status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$fetch_info&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="nv"&gt;$code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$fetch_info&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'code'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$status&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$code&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
                &lt;span class="nb"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Location: reset-code.php'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nb"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Location: user-otp.php'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Location: login-user.php'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$fetch_info&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt; | Home&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
    &lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="sx"&gt;url('https://fonts.googleapis.com/css?family=Poppins:400,500,600,700&amp;amp;display=swap')&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;nav&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;padding-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100px&lt;/span&gt;&lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;padding-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100px&lt;/span&gt;&lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#6665ee&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;'Poppins'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; 
    &lt;span class="nt"&gt;nav&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nc"&gt;.navbar-brand&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt;&lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;500&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#6665ee&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;500&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;text-decoration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;600&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;nav&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"navbar"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"navbar-brand"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"#"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Brand name&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn btn-light"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"logout-user.php"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Logout&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Welcome &lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt; &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$fetch_info&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In Here I make An Email-OTP System Which is Based On PHP, and js. &lt;br&gt;
Visit My &lt;a href="https://github.com/naemazam/Login-Signup-Form-with-Email-Verification#readme"&gt;GitHub&lt;/a&gt; to know more.   &lt;/p&gt;

</description>
      <category>php</category>
      <category>javascript</category>
      <category>otp</category>
      <category>naemazam</category>
    </item>
    <item>
      <title>How to configure XAMPP to send Mail from Localhost in PHP ?</title>
      <dc:creator>Naem Azam </dc:creator>
      <pubDate>Tue, 30 Nov 2021 07:21:59 +0000</pubDate>
      <link>https://forem.com/naemazam/how-to-configure-xampp-to-send-mail-from-localhost-in-php--382c</link>
      <guid>https://forem.com/naemazam/how-to-configure-xampp-to-send-mail-from-localhost-in-php--382c</guid>
      <description>&lt;p&gt;As a part of the experiment, developers need to send emails and we all know that sending mail from localhost using PHP can be much more painful if we don’t know how to properly configure XAMPP for it.&lt;br&gt;
To send mail from localhost using XAMPP, we’ve to configure XAMPP after installing it. To configure the XAMPP server to send mail from the localhost, we have to make some changes in two files one is PHP and another one is Sendmail.&lt;/p&gt;

&lt;p&gt;First, go to the XAMPP installation directory and open the XAMPP folder and follow the below steps same: I’ve installed XAMPP in the C directory.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to the (C:xampp\php) and open the PHP configuration setting file then find the [mail function] by scrolling down or simply press ctrl+f to search it directly then find the following lines and pass these values. Remember, there may be a semicolon ; at the starting of each line, simply remove the semicolon from each line which is given below.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mail&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="k"&gt;For&lt;/span&gt; &lt;span class="nc"&gt;Win32&lt;/span&gt; &lt;span class="n"&gt;only&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;
&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="o"&gt;://&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;smtp&lt;/span&gt;
&lt;span class="no"&gt;SMTP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;smtp&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gmail&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;
&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="o"&gt;://&lt;/span&gt;&lt;span class="n"&gt;php&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;smtp&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;
&lt;span class="n"&gt;smtp_port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;587&lt;/span&gt;
&lt;span class="n"&gt;sendmail_from&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;your_email_address_here&lt;/span&gt;
&lt;span class="n"&gt;sendmail_path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;C:&lt;/span&gt;&lt;span class="se"&gt;\xa&lt;/span&gt;&lt;span class="s2"&gt;mpp\sendmail\sendmail.exe&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt; -t"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;That’s all for this file, press ctrl+s to save this file and then close it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Now, go the (C:\xampp\sendmail) and open the sendmail configuration setting file then find sendmail by scrolling down or press ctrl+f to search it directly then find the following lines and pass these values. Remember, there may be a semicolon ; at the starting of each line, simply remove the semicolon from each line which is given below.
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;smtp_server&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;smtp&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gmail&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;
&lt;span class="n"&gt;smtp_port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;587&lt;/span&gt;
&lt;span class="n"&gt;error_logfile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;
&lt;span class="n"&gt;debug_logfile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;
&lt;span class="n"&gt;auth_username&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;your_email_address_here&lt;/span&gt;
&lt;span class="n"&gt;auth_password&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;your_password_here&lt;/span&gt;
&lt;span class="n"&gt;force_sender&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nf"&gt;your_email_address_here&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;it&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="n"&gt;optional&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;that’s all for this file, press ctrl+s to save this file and then close it. After all changes in the two files, don’t forget to restart your apache server.&lt;br&gt;
Now, you’re done with the required changes in these files. To check the changes you’ve made are correct or not. First, create a PHP file with the .php extension and paste the following codes into your PHP file. After pasting the codes, put your details to the given variables – In the $receiver variable put the receiver email address, in the $subject variable put the email subject and do respectively.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="nv"&gt;$receiver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"receiver email address here"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;$subject&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Email Test via PHP using Localhost"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;$body&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Hi, there...This is a test email send from Localhost."&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;$sender&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"From:sender email address here"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$receiver&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$subject&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$body&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$sender&lt;/span&gt;&lt;span class="p"&gt;)){&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Email sent successfully to &lt;/span&gt;&lt;span class="nv"&gt;$receiver&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Sorry, failed while sending mail!"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After completing these steps, just open this PHP file on your browser. If your mail is sent successfully then there is appears a success message “Email sent successfully to …..” and in the case your mail not sent then there is appears “Sorry, failed while sending mail!”.&lt;/p&gt;

&lt;p&gt;If mail is sent then check the receiver has got your email or not. If yes, then great you did all changes perfectly. If no, check all the changes that you have done earlier are correct or not.&lt;/p&gt;

</description>
      <category>php</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>naemazam</category>
    </item>
  </channel>
</rss>
