<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Jemima Abu - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Jemima Abu - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 23 May 2026 22:20:03 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/author/jemimaabu/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Create a Portfolio Website – A Beginner Developer's Guide ]]>
                </title>
                <description>
                    <![CDATA[ At the beginning of 2021, I decided to revamp my portfolio site, as I do every other year.  If you've never deployed a website before, it can be quite confusing figuring out how to get your website online. Things like getting a domain name, uploading... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/beginners-guide-to-creating-a-portfolio-website/</link>
                <guid isPermaLink="false">66b9065d2fd266308aa6ff72</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ personal development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ portfolio ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Website design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jemima Abu ]]>
                </dc:creator>
                <pubDate>Mon, 29 Mar 2021 22:29:35 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/03/A-Beginner-s-Guide-To-Creating-A-Portfolio-Website-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>At the beginning of 2021, I decided to revamp <a target="_blank" href="https://www.jemimaabu.com"><strong>my portfolio site</strong></a>, as I do every other year. </p>
<p>If you've never deployed a website before, it can be quite confusing figuring out how to get your website online. Things like getting a domain name, uploading the necessary files and choosing where to host your site can be overwhelming.</p>
<p>I remembered how difficult I found it to setup my website the first time and I wanted to help other people avoid the mistakes I made, so I sent out this tweet:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/portfolio-tweet.png" alt="Tweet from @jemimaabu on Twitter. Text says &quot;Aii, I'm changing my website design again. This time, I want to have a pair programming session with someone who's trying to set up a portfolio website. We'll discuss everything you need to know from getting a domain name to deploying the website online. Send me a DM&quot;. 12:15PM. Jan 24, 2021. Twitter for Android" width="600" height="400" loading="lazy"></p>
<p>I got more responses than I expected, so I ended up scheduling 9 sessions of 2 hours each for every weekend in February.</p>
<p>The idea was, at the end of February, I should have completed my portfolio design since I assumed helping other people would ensure I stayed on track with my plan. That plan didn't work out, but I did learn a lot in the process.</p>
<p>At the end of February, I successfully helped 6 developers (ranging from entry to mid level, and a 1:2 female-to-male ratio from 3 different countries) set up their portfolio website in one form or the other. I'll be documenting the main lessons from each session here.</p>
<p>In this article, we'll cover everything you need to know about setting up your portfolio site – from buying a domain name to deploying the site online. So let's get started.</p>
<h2 id="heading-1-how-to-get-a-domain-name">1) How to Get a Domain Name</h2>
<p>A domain name is the location of your site online. It's like having a username for the world wide web which visitors type into the URL bar to go to your site. </p>
<p>A domain name consists of a name (like <code>google</code>) and an extension (like <code>.com</code>) and it points to a specific IP address for the site you're deploying.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/domain.jpeg" alt="URL bar showing &quot;http://www.&quot;" width="600" height="400" loading="lazy"></p>
<p>Purchasing a domain name from a registry allows you determine what location that domain points to. There are multiple registries where you can purchase a domain from, so you should do your research and decide which one works for you.</p>
<p>Here are some domain registries I'd recommend based on their features:</p>
<ol>
<li><strong><a target="_blank" href="https://shareasale.com/r.cfm?b=1197848&amp;u=2778801&amp;m=46483&amp;urllink=&amp;afftrack=0https://www.shareasale.com/r.cfm?u=2778801&amp;m=46483&amp;b=518798">NameCheap</a></strong> – This is one of the more popular platforms, so it comes with a lot of customer support and hassle-free setup. They also offer free domain privacy. I'd recommend using this if you want to purchase a domain quickly.</li>
<li><strong><a target="_blank" href="https://www.bluehost.com/track/jemabu">Bluehost</a></strong> – Bluehost offers great hosting choices and comes with an inbuilt WordPress platform. I've personally used Bluehost for some client sites in the past and I really like the clean interface and onboarding guide it provides. I'd recommend using Bluehost for hosting WordPress sites.</li>
<li><a target="_blank" href="https://www.namesilo.com/?rid=17e7856ns"><strong>NameSilo</strong></a> – A major benefit of NameSilo is that <a target="_blank" href="https://www.namesilo.com/pricing?rid=17e7856ns">they offer free add-ons</a> such as WHOIS Privacy (keeping your registration details safe) and Email Forwarding (sending emails from <code>me@mysite.com</code> to your actual email address). I'd recommend using this if you need a lot of extra add-ons on your domain.</li>
<li><a target="_blank" href="https://www.netim.com/?partnerid=AJ2220"><strong>Netim</strong></a> – I'd recommend using Netim for purchasing geographical domains such as <code>.eu</code> or <code>.me</code>. A fun option is to purchase a domain that ends with the last characters in your name e.g. <code>www.jemi.ma</code>. </li>
</ol>
<blockquote>
<p>Watch out for hidden fees when purchasing a domain. Lots of registries tend to offer very cheap or even free domain names but there are usually extra charges in the renewal method. Look out for the add-ons which you might not need.</p>
</blockquote>
<p>A couple of the developers in the pair programming sessions had paid for <code>.com</code> domain names but the majority didn't own a domain name and weren't interested in purchasing one, at least for the time being. </p>
<p>The benefits of having a custom domain name are:</p>
<ul>
<li>it improves your SEO rankings  </li>
<li>it looks more professional when you're sending a link to a prospective employer or client.</li>
</ul>
<p>Domain providers charge for domain names annually, and a <code>.com</code> domain might cost you $10 to $30 dollars per year, depending on any extra additions. </p>
<p>If you aren't comfortable with paying for a domain name yet, you can opt for a free domain option. We'll explore free domain options in the next section.</p>
<h2 id="heading-2-how-to-choose-a-hosting-platform">2) How to Choose a Hosting Platform</h2>
<p>When you build a website, you can access it on your machine by going to <code>localhost</code> or index.html. However, if you want other people to be able to access your website on the internet, you need to upload it to a hosting platform.</p>
<p>A hosting platform is the <code>localhost</code> of the internet – it's a server that can be accessed by everyone.</p>
<p>Most domain registries also offer hosting options but it's not necessary to have your domain and hosting from the same place, as most registries charge an extra fee for hosting. Once you've purchased a domain name, you can use any hosting platform you'd like.</p>
<p>There's a number of hosting platforms that offer free hosting and domain names (with the platform domain attached) and you can choose any platform depending on how you'd like to structure your portfolio.</p>
<p>Let's explore the following options.</p>
<h3 id="heading-how-to-host-a-portfolio-site-without-writing-code">How to host a portfolio site without writing code</h3>
<p><strong>Platform: <a target="_blank" href="https://webflow.grsm.io/jemabu">webflow.com</a></strong></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/webflow.png" alt="An image of the webflow.com homepage. Image contains text &quot;The modern way to build for the text. Webflow empowers designers to build professional, custom websites in a completely visual canvas with no code.&quot;" width="600" height="400" loading="lazy"></p>
<p>Webflow is a drag-and-drop site that allows you create great looking websites by writing little to no code. </p>
<p>With Webflow, you can create amazing layouts and animations by using the HTML and CSS functions on their dashboard, and it comes with an inbuilt CMS so you don't have to worry about updating content or storing images.</p>
<p>Webflow offers a free domain option with a <code>webflow.io</code> extension, for example <code>myportfolio.webflow.io</code>. With this option, you can create a static site with 2 pages. They also have a <a target="_blank" href="https://webflow.grsm.io/jadsc">showcase of projects</a> you can clone from and <a target="_blank" href="https://webflow.grsm.io/jafrm">an online forum</a> where you can get most of your questions answered. </p>
<p>I'd recommend Webflow to designers and developers who have knowledge of CSS layouts and animations and want to quickly setup their site. </p>
<h3 id="heading-how-to-host-a-static-portfolio-built-with-html-and-css">How to host a static portfolio built with HTML and CSS</h3>
<p><strong>Platform</strong>: <a target="_blank" href="https://pages.github.com/"><strong>GitHub Pages</strong></a></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/gitpages.png" alt="GitHub Pages Websites for you and your projects. Hosted directly from your GitHub repository. Just edit, push, and your changes are live." width="600" height="400" loading="lazy"></p>
<p>GitHub Pages is a feature from the GitHub platform that allows you display the code from your repository on a <code>github.io</code> site – so the URL would look like <code>my-portfolio.github.io</code></p>
<p>GitHub pages are best suited for static websites (that is, a site built with HTML and CSS with fixed content and no server interaction or build process needed). It's also very simple to set up and can take as little as 10 minutes to get your site up and running.</p>
<p>To create a GitHub Page, your repository should include an <code>index.html</code> file in the root folder. Then, go to the Settings page of your repository and select your master branch as the source in the Github Pages section.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screenshot-2021-03-13-at-18.01.23.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>This was the method most of the developers used during the pair programming sessions as it took the least amount of time and had little to no complications. I'd recommend Github Pages for beginner developers who want to deploy their static sites quickly.</p>
<h3 id="heading-how-to-host-a-site-that-uses-a-framework-like-react-or-vue">How to host a site that uses a framework like React or Vue</h3>
<p><strong>Platform:</strong> <a target="_blank" href="https://www.netlify.com/"><strong>Netlify</strong></a></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/netlify.png" alt="Netlify homepage. Modern web apps shipped faster An intuitive Git-based workflow and powerful serverless platform to build, deploy, and collaborate on web apps " width="600" height="400" loading="lazy"></p>
<p>If you're building your website with a front-end framework which requires a build process, Netlify is your best bet. It's perfect for dynamic sites (that is, a site that generates content from a server or has functionality that requires scripting – like sending messages through a contact form) and it also works with static sites.</p>
<p><a target="_blank" href="https://www.netlify.com/topics/tutorials/">Netlify has great documentation</a> that provides information on any questions you might have related to using the site. It also has key features for improving your site like <a target="_blank" href="https://www.netlify.com/products/forms/">Netlify Forms</a> which allow you set up a contact form on your site with no server-side code needed.</p>
<p>I currently use Netlify for hosting my site and it's been my favorite platform so far. I'd recommend it for developers who want to get their site (static or dynamic) up and running without any hassle in setting up a build process.</p>
<h3 id="heading-how-to-host-a-site-with-a-backend-server">How to host a site with a backend server</h3>
<p><strong>Platform:</strong> <a target="_blank" href="https://heroku.com"><strong>Heroku</strong></a></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/heroku.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>If your portfolio site requires data from a backend server (like getting a list of your projects from a RESTful app), then you'll also need to deploy that server so the frontend can access it. </p>
<p>Heroku is a platform that lets you deploy backend apps from eight supported languages (including Node.js and Python). It also allows you deploy static and dynamic front end sites so you can create two projects – one for your frontend code and the other for the backend app. </p>
<p>You can visit the <a target="_blank" href="https://devcenter.heroku.com/">Heroku Dev Center</a> for more information on getting started with Heroku.</p>
<p>I haven't personally used the Heroku platform for deploying backend apps before, but one of the programmers in the pair programming session did so I thought I'd include it as well. I'd recommend it for full-stack developers who want to display their frontend and backend skills on their portfolio.</p>
<h2 id="heading-3-how-to-deploy-your-site">3) How to Deploy Your Site</h2>
<p>Deploying a site means placing the code you've written on the hosting platform. In older platforms, you'd have to upload the code and all resources to a cPanel (which is basically File Explorer for hosting platforms).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/cpanel.png" alt="Image" width="600" height="400" loading="lazy">
<em>Source: <strong>What Is cPanel Used For And Why Do I Need It? - A2Hosting</strong></em></p>
<p>Nowadays, websites have become a lot more complicated than just <code>.html</code> files so they require different deployment methods. </p>
<p>If you have a React app, for example, the project will need to be built (like how you run <code>npm start</code> on your laptop to view the app) every time it's deployed to the domain.</p>
<p>Depending on the hosting platform you've chosen, the method of deployment is different. You can set up continuous deployment from a Github repository on Netlify (<a target="_blank" href="https://docs.netlify.com/configure-builds/get-started/">documentation here</a>) and Heroku (<a target="_blank" href="https://devcenter.heroku.com/articles/github-integration">documentation here</a>). This means every time you push a new change to your repository, the change is reflected in your site.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screenshot-2021-03-13-at-19.04.00.png" alt="Create a new site From zero to hero, three easy steps to get your site on Netlify.  Connect to Git provider Pick a repository Site settings, and deploy! Continuous Deployment Choose the Git provider where your site’s source code is hosted. When you push to Git, we run your build tool of choice on our servers and deploy the result." width="600" height="400" loading="lazy"></p>
<p>If you're choosing to use a custom domain name, you'll need to link that domain name to your site. For example, on Netlify, your app is created with a <code>netlify.app</code> extension by default so it looks like <code>myportfolio.netlify.app</code>, but you can <a target="_blank" href="https://docs.netlify.com/domains-https/custom-domains/">set a custom domain name</a>. You can also set a <a target="_blank" href="https://devcenter.heroku.com/articles/custom-domains">custom domain name on Heroku</a>.</p>
<p>Linking a custom domain on these platforms means you'll need to update the DNS (Domain Name System) records from your domain provider. DNS is what allows users access your site with your domain name, for example <code>portfolio.com</code> instead of an IP address like <code>127.0.0.1</code>. You can read more on <a target="_blank" href="https://www.freecodecamp.org/news/what-is-dns/">DNS here</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/godaddy.gif" alt="Image" width="600" height="400" loading="lazy">
<em>Source: Add an A record - GoDaddy</em></p>
<h2 id="heading-4-how-to-choose-a-design-for-your-site">4. How to Choose a Design for Your Site</h2>
<p>Another topic we covered during the sessions was choosing a design. Some of the developers already had their sites built, but some had no idea what sort of layout to go for.</p>
<p>When it comes to choosing a portfolio design, I recommend viewing other developers' portfolios for inspiration and ideas on how to structure your site. This articles shows <a target="_blank" href="https://www.freecodecamp.org/news/15-web-developer-portfolios-to-inspire-you-137fb1743cae/"><strong>15 Web Developer Portfolios</strong></a> or, if you need some more inspiration, try <a target="_blank" href="https://www.noupe.com/design/web-developer-portfolio-examples.html"><strong>63 Examples</strong></a>. </p>
<p>You can also read this article on <strong><a target="_blank" href="https://www.freecodecamp.org/news/coding-projects-to-include-in-your-frontend-portfolio/">5 Projects To Include in Your Front End Portfolio</a></strong> for project ideas<strong>.</strong></p>
<p>It's important to determine the purpose of your portfolio and make sure that purpose is evident in every part of your site. </p>
<p>For example, if you're trying to use your portfolio to get a job, make sure you highlight your skills and experience on the main page and include call-to-actions to allow people view your résumé or send you a message. </p>
<p>If your portfolio is meant to get you clients for freelance purposes, then focus on previous projects you've built and reviews from other clients.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/employ-adam.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Source: https://www.bmediagroup.com/news/employ-adam/</em></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Let's summarise what we've covered in this article. To deploy your site online, you'll have to:</p>
<ol>
<li>Purchase a domain from a domain provider.</li>
<li>Choose a hosting platform, depending on how you want to build your site.</li>
<li>Link your domain to your hosting platform by updating your DNS records on your domain provider.</li>
<li>Set up deployment of your site from your hosting platform according to their documentation.</li>
</ol>
<p>I wrote this article and offered the pair programming sessions because I remember how complicated it was to deploy my first website. I also remember how I made a lot of mistakes I could have avoided (like paying 10 times the original fee on renewal of one of my domains thanks to a bunch of add-ons I didn't need) so I hope you found it helpful.</p>
<p>If you did, or you have any other questions, you can let me know on <a target="_blank" href="https://www.twitter.com/jemimaabu">Twitter</a> or send me a message on my <a target="_blank" href="https://www.jemimaabu.com#contact">website</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 5 Coding Projects You Should Include in Your Front End Portfolio ]]>
                </title>
                <description>
                    <![CDATA[ A portfolio is a great way to show off your skills to potential employers. And it's especially helpful for entry-level developers who might not have any professional work experience. However, a common problem you might have when building a portfolio ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/coding-projects-to-include-in-your-frontend-portfolio/</link>
                <guid isPermaLink="false">66b90661626438a622a1ef84</guid>
                
                    <category>
                        <![CDATA[ Job Hunting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ personal development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ portfolio ]]>
                    </category>
                
                    <category>
                        <![CDATA[ projects ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jemima Abu ]]>
                </dc:creator>
                <pubDate>Mon, 08 Feb 2021 18:42:56 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/01/5-Projects-To-Include-in-Your-Frontend-Portfolio.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>A portfolio is a great way to show off your skills to potential employers. And it's especially helpful for entry-level developers who might not have any professional work experience.</p>
<p>However, a common problem you might have when building a portfolio is knowing what to include in it.</p>
<p>Is the simple web page you built for a course good enough to put on your website? Do you have to only include projects you were paid for, or can you include even the smallest of things? Is there a 'right' number of projects to have?</p>
<p>The purpose of this article is to provide some guidelines to how to populate your frontend developer portfolio, by way of example projects.</p>
<p>Here's a quick summary of the projects we'll be covering in this article:</p>
<ol>
<li>A portfolio website</li>
<li>A clone website</li>
<li>A CRUD web application</li>
<li>An API-connected website</li>
<li>A 'perfect score' website</li>
</ol>
<p>Note: this doesn't mean you have to build all these projects. This list is just to provide you with ideas on the sort of projects you can build. </p>
<p>Also, these projects are geared towards entry-level developers who've covered the basics of frontend development and are looking for slightly more advanced projects.</p>
<h2 id="heading-1-build-a-portfolio-website">1. Build a Portfolio Website</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-293.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@goshua13?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"&gt;Joshua Aragon / &lt;a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm<em>campaign=api-credit)</em></p>
<p>So long as you've built your portfolio website by yourself, it's perfectly fine to include it in your projects list. If you tend to change your portfolio design regularly, you can also include previous versions.</p>
<p>When including a project in your portfolio, you're not only showing off your skills, but you're also explaining the mindset behind the design. And this is something that potential employers are usually interested in.</p>
<p>For frontend developers, explaining how you arrived at your chosen layout is just as important as having an aesthetically appealing design. </p>
<p>You can go further and describe the steps you took to ensure your website followed the best developer practices. For example, share how you focused on improving the SEO and performance of your site.</p>
<p><strong>Resources and examples</strong>: <a target="_blank" href="https://www.freecodecamp.org/news/15-web-developer-portfolios-to-inspire-you-137fb1743cae/">This article by Laurence Bradford</a> provides more information on the structure of a portfolio and includes examples of awesome web developer portfolios you can use as inspiration. </p>
<p><strong>Recommended technology:</strong> For beginners, I'd recommend using HTML, CSS and vanilla JavaScript to build a portfolio, especially if it's the first time. </p>
<h2 id="heading-2-build-a-clone-website">2. Build a Clone Website</h2>
<p>Being able to accurately convert a design to a fully functional webpage is a skill every frontend developer should have. </p>
<p>To do this, you need to have a keen eye for layout and colours. You'll also need experienced-based knowledge such as knowing the best CSS display property to match a layout or being able to render an animation according to specification.</p>
<p>In most organisations, frontend developers are responsible for translating mockups and prototypes to webpages, so it's beneficial if your portfolio displays your 'design-to-code' skills. Building a clone website is a good way to do that.</p>
<p>There are two ways to go about building a clone website:</p>
<p>First, you can recreate an existing website. A common challenge for junior developers is <a target="_blank" href="https://www.theodinproject.com/courses/web-development-101/lessons/html-css">cloning the Google homepage</a>.</p>
<p>This method is particularly useful for understanding real-life applications of style choices in popular websites. You can inspect elements in the page and try to understand the methods used for the box-model, positioning, and display.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-294.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@solenfeyissa?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"&gt;Solen Feyissa / &lt;a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm<em>campaign=api-credit)</em></p>
<p>Second, you can recreate a design from scratch. For a more challenging project, you can look up designs on <a target="_blank" href="https://dribbble.com/shots/popular/web-design">Dribble</a> or <a target="_blank" href="https://www.behance.net/search/projects?field=web%20design">Behance</a> and attempt to translate the design to code.</p>
<p>To make this method more beginner-friendly, try recreating a simple page or feature such as a login form or weather app.</p>
<p><strong>Recommended technology:</strong> Cloning the design of a website doesn't require any functionality, so HTML and CSS only would work fine. You can also use this time to familiarize yourself with a CSS framework or preprocessor such as <a target="_blank" href="https://sass-lang.com/guide">SASS</a>. </p>
<p><strong>Note</strong>: all designs uploaded to these platforms are the copyrighted property of their owners, so you're not allowed to use them for commercial purposes. However, if you send them an email or leave a comment asking for permission to recreate the design for non-commercial purposes, the designer might be open to letting you recreate their designs for free.</p>
<p>It's also important to specify on your portfolio that the project is a cloned work or recreation of someone else's design.</p>
<h2 id="heading-3-a-crud-web-application">3. A CRUD web application</h2>
<p>Carrying out CRUD (Create-Read-Update-Delete) operations is a very common feature for most websites (like blogs, e-commerce, dashboards, and so on) so it's something you need to be accustomed to building as a front-end developer.</p>
<p>A basic form of a CRUD application is a To-Do List or a Notes webpage. Having one of these projects on your website shows your skill with manipulating data structures. It's also a good opportunity to display your work with a frontend framework.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-295.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@jessbaileydesigns?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"&gt;Jess Bailey / &lt;a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm<em>campaign=api-credit)</em></p>
<p>Tania Rascia's article on <a target="_blank" href="https://www.taniarascia.com/how-to-use-local-storage-with-javascript/">working with local storage</a> is a helpful introduction to learning how to create CRUD web applications with vanilla JavaScript. Or, if you want a more framework-specific article, check out the same author's article on <a target="_blank" href="https://www.taniarascia.com/crud-app-in-react-with-hooks/">Building A Crud App with React Hooks</a></p>
<p><strong>Recommended technology:</strong> CRUD apps require use of reusable components so it's a good idea to build them using a framework such as React or Vue, depending on your familiarity. </p>
<p><strong>Example site:</strong> <a target="_blank" href="https://taniarascia.github.io/react-hooks/">React CRUD App with Hooks</a></p>
<h2 id="heading-4-an-api-connected-website">4. An API-connected website</h2>
<p>A lot of large scale projects require some sort of communication with a backend server and displaying data fetched from that server. This requires the use of an <a target="_blank" href="https://www.freecodecamp.org/news/what-does-api-stand-for-a-definition-of-the-coding-acronym-in-plain-english/">Application Programming Interface (API)</a> in most cases. </p>
<p>An API is... I like to think of it as a digital librarian. Imagine having books stored in a library and you need to use these books for a report. </p>
<p>So, you go to the librarian and ask to check out a book. You need to tell the librarian certain keywords (let's say the name of the book and the name of the author) and have the right authorization (in this case, a library card) to get this book.</p>
<p>Now replace 'library' with 'server', 'books' with 'data', 'report' with 'website' and 'librarian' with 'API'.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-296.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@ismailenesayhan?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"&gt;İsmail Enes Ayhan / &lt;a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm<em>campaign=api-credit)</em></p>
<p>APIs allow frontend developers to collect, modify and delete data from a backend database. Building a site that consumes an API to display data is a great project to include on your portfolio.</p>
<p><strong>Example sites:</strong> You can choose to create a data display site (for example, a <a target="_blank" href="https://webdesign.tutsplus.com/tutorials/build-a-simple-weather-app-with-vanilla-javascript--cms-33893">website that connects to a weather API</a> and displays the current weather) or, for a more challenging project, you can set up a <a target="_blank" href="https://www.callicoder.com/node-js-express-mongodb-restful-crud-api-tutorial/">RESTful API</a> and carry out the operations on your website.</p>
<h2 id="heading-5-a-perfect-score-website">5. A 'perfect score' website</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/01/perfect-score.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>A perfect score website is a website that scores 100% across all categories on the <a target="_blank" href="https://developers.google.com/web/tools/lighthouse">Chrome Lighthouse</a> audit report. Building a website that meets all the required features shows your skill at following best practices and ensuring high quality projects.</p>
<p>You can read up on how to optimize your website for performance and accessibility to get a perfect Lighthouse score in this article <a target="_blank" href="https://blog.jemimaabu.com/how-i-built-my-perfect-score-portfolio-website#how-to-get-a-perfect-lighthouse-score-on-your-website">How I Built My Perfect Score Portfolio Website</a>.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>So there you have it: 5 projects you can include in your frontend end portfolio. Also, these don't all have to be separate projects. You could create a perfect score cloned website or a CRUD application that uses an API to call data from a JSON file. </p>
<p>Now you can go forth and build. Happy coding :)</p>
<p>If you found this article helpful or if you have any questions, you can let me know on <a target="_blank" href="https://www.twitter.com/jemimaabu">Twitter</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
