<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/freecodecamp/best-of/2023/01" -->

---
title: Best freeCodeCamp posts — January 2023 | daily.dev
description: The most upvoted freeCodeCamp posts from January 2023, curated by the daily.dev community.
canonical: https://daily.dev/sources/freecodecamp/best-of/2023/01
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/freecodecamp/best-of/2023/01
og:type: website
og:site_name: daily.dev
og:title: Best freeCodeCamp posts — January 2023 | daily.dev
og:description: The most upvoted freeCodeCamp posts from January 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of freeCodeCamp — January 2023

1. 1  
[](https://daily.dev/posts/8-react-projects-to-build-in-2023-zqodnj6ua "8 React Projects to Build in 2023")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
8 React Projects to Build in 2023  
8 React Projects to Build in 2023 will show you what's possible to make with React. Check out the React Bootcamp to see how to make each of them step-by-step. Todo apps are a great project to begin with because you don't need any third-party libraries to build them.  
541  
34
2. 2  
[](https://daily.dev/posts/software-system-design-for-beginners--1w8pl8fp "Software System Design for Beginners")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Software System Design for Beginners  
Software System Design for Beginners is designed to provide a comprehensive understanding of the various concepts and techniques involved in designing and building software systems. You will learn about basic engineering design patterns that are used to build large-scale distributed systems. The course uses video streaming service as an example for demonstrating system design principles.  
279  
5
3. 3  
[](https://daily.dev/posts/how-to-learn-react-in-2023-4on8be9i9 "How to Learn React in 2023")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Learn React in 2023  
How to learn React in 2023? Get all the training you need to be a React pro with the React Bootcamp. Many JavaScript concepts can be learned at the same time you are learning React. You will encounter and learn more React concepts as you start building your own projects.  
190  
13
4. 4  
[](https://daily.dev/posts/learn-tailwind-css-smyrawzdj "Learn Tailwind CSS")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Learn Tailwind CSS  
The freeCodeCamp.org course is divided into several sections, each of which covers a different aspect of using Tailwind CSS. Guillaume Duhan created the course and has created many courses on Udemy and his own YouTube channel.  
120  
2
5. 5  
[](https://daily.dev/posts/how-to-write-unit-tests-in-react-icgbbmztz "How to Write Unit Tests in React")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Write Unit Tests in React  
How to Write Unit Tests in React is a simple way to get started with writing unit tests. Testing involves checking if your code is functioning as it's supposed to by comparing the expected output with the actual output. In general, your tests should cover the following aspects of your code: If a component renders with or without props.  
120  
5
6. 6  
[](https://daily.dev/posts/how-to-learn-to-code-get-a-developer-job-in-2023-full-book--vdni5bxw1 "How to Learn to Code & Get a Developer Job in 2023 [Full Book]")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Learn to Code & Get a Developer Job in 2023 \[Full Book\]  
How to Learn to Code & Get a Developer Job in 2023 is the full book – for free – right here on freeCodeCamp.org. More than a million people visit this website each day to learn about math, programming, and computer science. The book is for anyone who is considering a career in software development.  
103  
7
7. 7  
[](https://daily.dev/posts/how-to-find-a-remote-developer-job-in-2023-belzofn3q "How to Find a Remote Developer Job in 2023")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Find a Remote Developer Job in 2023  
As the world continues to adapt to the new normal of remote work, the demand for remote developers has never been higher. Companies are now realizing the benefits of hiring remote workers, including cost savings and access to a wider pool of talent. Here are some tips to help you land your dream remote developer job in 2023.  
84  
6
8. 8  
[](https://daily.dev/posts/why-a-ternary-operator-is-not-a-conditional-operator-in-js-zaxpay8bs "Why a Ternary Operator is not a Conditional Operator in JS")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Why a Ternary Operator is not a Conditional Operator in JS  
Until recently, I called a ternary operator a conditional operator in JavaScript. But I just learned that this isn't correct. In this tutorial, I will explain how I learned this, and hopefully it teaches you something new. I have a video version on this topic you can watch as well to supplement your learning.  
76  
6
9. 9  
[](https://daily.dev/posts/master-the-http-networking-protocol-mt6i1xvvb "Master the HTTP Networking Protocol")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Master the HTTP Networking Protocol  
The course is designed to help students understand the various concepts of HTTP networking through hands-on learning. Students will complete over 80 coding exercises and quizzes in JavaScript. The course includes a project where they will build a real web crawler using Node.js.  
73  
3
10. 10  
[](https://daily.dev/posts/how-to-use-vim-tutorial-for-beginners-y3w8tfa-v "How to Use Vim – Tutorial for Beginners")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Use Vim – Tutorial for Beginners  
Vim is a free and open-source cross-platform text editor. It was first released by Bram Moolenaar in 1991 for UNIX variants. Vim comes pre-installed on most \*nix operating systems, but if it's installed on your system, you can install it with a package manager of your choice.  
70  
6
11. 11  
[](https://daily.dev/posts/how-to-become-a-better-web-developer-in-2023-fq4gpytq2 "How to Become a Better Web Developer in 2023")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Become a Better Web Developer in 2023  
To be a great web developer, you must learn many skills and techniques and hone your coding abilities. If you want to become an expert in front-end and back-end programming, your goal could be to become a full-stack web developer. There are a few different approaches to determine your area of interest within web development.  
52  
4
12. 12  
[](https://daily.dev/posts/how-to-build-a-real-time-chat-app-with-reactjs-and-firebase-rozd8ow-i "How to Build a Real-time Chat App with ReactJS and Firebase")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Build a Real-time Chat App with ReactJS and Firebase  
In the app, we will allow the user to log in with their Google account using Firebase's Google sign-in Authentication. We will also store and retrieve all the chatroom messages using Fire Base's Cloud Firestore. You should have Node.js installed on your system and know how to use the command terminal.  
48  
11
13. 13  
[](https://daily.dev/posts/chatgpt-react-course-code-your-own-chatgpt-clone-cnzu-ynjl "ChatGPT React Course – Code Your Own ChatGPT Clone")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
ChatGPT React Course – Code Your Own ChatGPT Clone  
The OpenAI API is a powerful tool that allows developers to harness the power of advanced machine learning algorithms to create intelligent applications. The course is designed for developers with experience in React, but no prior experience with the API is required. You'll learn how to use the API to answer questions, translate text, convert code, and convert code.  
47
14. 14  
[](https://daily.dev/posts/what-is-pre-caching-how-to-increase-website-speed-and-performance-gxsq9ofhh "What is Pre-Caching? How to Increase Website Speed and Performance")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
What is Pre-Caching? How to Increase Website Speed and Performance  
The goal of pre-caching is to improve the performance and user experience by reducing content load times. Pre-cached is to cache commonly accessed data or resources in advance so that when the time comes, you can deliver it to the end-user faster. It is important for you to choose the right data to cache.  
47  
1
15. 15  
[](https://daily.dev/posts/web-scraping-in-javascript-how-to-use-puppeteer-to-scrape-web-pages-uqxlclvup "Web Scraping in JavaScript – How to Use Puppeteer to Scrape Web Pages")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Web Scraping in JavaScript – How to Use Puppeteer to Scrape Web Pages  
Web Scraping in JavaScript - How to Use Puppeteer to Scrape Web Pages. We'll introduce the basics of web scraping in JavaScript and Node.js in this article. The ToScrape website provides two projects specifically designed for web scraping, making it a great starting point to learn the basics.  
43
16. 16  
[](https://daily.dev/posts/var-let-and-const-in-javascript-the-differences-between-these-keywords-explained-rj4dno0pv "var, let, and const in JavaScript – the Differences Between These Keywords Explained")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
var, let, and const in JavaScript – the Differences Between These Keywords Explained  
The Differences Between These Keywords Explained in JavaScript, you can declare variables with the.,. and keywords. But what are the differences between these keywords? I'll be using three factors: Scope of variables - Redeclaration and reassignment - Hoisting. I'm also writing separate tutorials about variable scope, variable hoisting.  
37
17. 17  
[](https://daily.dev/posts/how-to-style-your-react-apps-with-css-like-a-pro-xww2aohzn "How to Style Your React Apps with CSS Like a Pro")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Style Your React Apps with CSS Like a Pro  
You will learn how to integrate React with CSS like a pro by understanding the different ways you can apply styles to your React components. By the end of this tutorial, you should be able to confidently style your React component and build visually appealing user interfaces. You'll also learn some best practices for organizing and maintaining your CSS code.  
36
18. 18  
[](https://daily.dev/posts/how-to-google-like-a-pro-qyw92iqkv "How to Google Like a Pro")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Google Like a Pro  
You'll learn how the search engine works and how to ask the right questions to get the best results. We'll also delve into the world of search operators, which can help you narrow down and customize your search results. By the end of this course, you'll be a proficient searcher, able to find the information you need quickly and easily.  
34
19. 19  
[](https://daily.dev/posts/file-permissions-in-linux-how-to-use-the-chmod-command--fvtxvrmb "File Permissions in Linux – How to Use the chmod Command")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
File Permissions in Linux – How to Use the chmod Command  
The Linux Terminal possesses some superpowers when it comes to handling file permissions. You can grant or revoke permissions for every file and directory from your Terminal. Read, Write, and Execute are the three actions you can perform on a file. A file is said to be executable if it has a sequence of instructions to achieve something.  
35
20. 20  
[](https://daily.dev/posts/how-functions-work-in-javascript-js-function-code-examples-teiebcgcc "How Functions Work in JavaScript – JS Function Code Examples")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How Functions Work in JavaScript – JS Function Code Examples  
JavaScript is a widely-used programming language that is essential for web development. It is a high-level, interpreted language used on the client side, meaning it runs in the user's web browser. You can use it to create web and mobile applications, browser extensions, and other software.  
33
21. 21  
[](https://daily.dev/posts/full-stack-development-with-mongodb-java-and-react-o3wyiapou "Full Stack Development with MongoDB, Java, and React")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Full Stack Development with MongoDB, Java, and React  
Full Stack Development with MongoDB, Java, Spring Boot, and React Full stack web developers must be familiar with a wide variety of technologies and programming languages. The course will guide students through the process of developing a movie review application that utilizes a separation of concerns between the client and server code.  
33  
2
22. 22  
[](https://daily.dev/posts/learn-css-by-building-the-figma-logo-in-pure-css-xcomdyu5h "Learn CSS by Building the Figma Logo in Pure CSS")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
Learn CSS by Building the Figma Logo in Pure CSS  
Learn CSS by Building the Figma Logo in Pure CSS by building the logo in pure CSS. I will show you how to use the following CSS concepts by creating the logo: - flex-wrap - multiple classes - border-radius. What We Will Be Creating We will create the FigMA logo inpure CSS.  
30
23. 23  
[](https://daily.dev/posts/how-to-integrate-paypal-into-your-html-css-and-js-product-pages-decnuf3w3 "How to Integrate PayPal into Your HTML, CSS, and JS Product Pages")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Integrate PayPal into Your HTML, CSS, and JS Product Pages  
PayPal is one of the most widely-used and trusted payment gateways available. There are many new software startups appearing every day that use PayPal to handle their transactions and clients’ payments. Integrating PayPal into your product pages can greatly improve the user experience and streamline the checkout process for your customers.  
30  
4
24. 24  
[](https://daily.dev/posts/how-to-visualize-confusing-git-commands-with-git-sim-n-cvpwety "How to Visualize Confusing Git Commands with Git-Sim")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Visualize Confusing Git Commands with Git-Sim  
Git-Sim uses a command-line tool to visually simulate Git operations in your local repository. This tool will enable us to easily create handy diagrams and animations illustrating how each Git command will affect the state of your own Git repo. In a nutshell, git reset simply moves the tip of the current branch back to a previous commit.  
29
25. 25  
[](https://daily.dev/posts/how-to-use-typescript-in-react-apps-mhbjrueeh "How to Use TypeScript in React Apps")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 4y  
How to Use TypeScript in React Apps  
TypeScript takes all the functionalities and structures JavaScript provides as a language, and adds a few things to that. The main thing TypeScript provides is static typing. When it comes to React, we can mainly use TypeScript to type two things: component props and hooks.  
25

[See all freeCodeCamp archives](/sources/freecodecamp/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/freecodecamp/best-of/2023/01#page","url":"https://daily.dev/sources/freecodecamp/best-of/2023/01","name":"Best freeCodeCamp Posts — January 2023","description":"The most upvoted freeCodeCamp posts from January 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/freecodecamp/best-of/2023/01#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/8-react-projects-to-build-in-2023-zqodnj6ua","name":"8 React Projects to Build in 2023"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/software-system-design-for-beginners--1w8pl8fp","name":"Software System Design for Beginners"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/how-to-learn-react-in-2023-4on8be9i9","name":"How to Learn React in 2023"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/learn-tailwind-css-smyrawzdj","name":"Learn Tailwind CSS"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/how-to-write-unit-tests-in-react-icgbbmztz","name":"How to Write Unit Tests in React"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/how-to-learn-to-code-get-a-developer-job-in-2023-full-book--vdni5bxw1","name":"How to Learn to Code & Get a Developer Job in 2023 [Full Book]"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/how-to-find-a-remote-developer-job-in-2023-belzofn3q","name":"How to Find a Remote Developer Job in 2023"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/why-a-ternary-operator-is-not-a-conditional-operator-in-js-zaxpay8bs","name":"Why a Ternary Operator is not a Conditional Operator in JS"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/master-the-http-networking-protocol-mt6i1xvvb","name":"Master the HTTP Networking Protocol"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/how-to-use-vim-tutorial-for-beginners-y3w8tfa-v","name":"How to Use Vim – Tutorial for Beginners"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/how-to-become-a-better-web-developer-in-2023-fq4gpytq2","name":"How to Become a Better Web Developer in 2023"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/how-to-build-a-real-time-chat-app-with-reactjs-and-firebase-rozd8ow-i","name":"How to Build a Real-time Chat App with ReactJS and Firebase"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/chatgpt-react-course-code-your-own-chatgpt-clone-cnzu-ynjl","name":"ChatGPT React Course – Code Your Own ChatGPT Clone"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/what-is-pre-caching-how-to-increase-website-speed-and-performance-gxsq9ofhh","name":"What is Pre-Caching? How to Increase Website Speed and Performance"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/web-scraping-in-javascript-how-to-use-puppeteer-to-scrape-web-pages-uqxlclvup","name":"Web Scraping in JavaScript – How to Use Puppeteer to Scrape Web Pages"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/var-let-and-const-in-javascript-the-differences-between-these-keywords-explained-rj4dno0pv","name":"var, let, and const in JavaScript – the Differences Between These Keywords Explained"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/how-to-style-your-react-apps-with-css-like-a-pro-xww2aohzn","name":"How to Style Your React Apps with CSS Like a Pro"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/how-to-google-like-a-pro-qyw92iqkv","name":"How to Google Like a Pro"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/file-permissions-in-linux-how-to-use-the-chmod-command--fvtxvrmb","name":"File Permissions in Linux – How to Use the chmod Command"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/how-functions-work-in-javascript-js-function-code-examples-teiebcgcc","name":"How Functions Work in JavaScript – JS Function Code Examples"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/full-stack-development-with-mongodb-java-and-react-o3wyiapou","name":"Full Stack Development with MongoDB, Java, and React"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/learn-css-by-building-the-figma-logo-in-pure-css-xcomdyu5h","name":"Learn CSS by Building the Figma Logo in Pure CSS"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/how-to-integrate-paypal-into-your-html-css-and-js-product-pages-decnuf3w3","name":"How to Integrate PayPal into Your HTML, CSS, and JS Product Pages"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/how-to-visualize-confusing-git-commands-with-git-sim-n-cvpwety","name":"How to Visualize Confusing Git Commands with Git-Sim"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/how-to-use-typescript-in-react-apps-mhbjrueeh","name":"How to Use TypeScript in React Apps"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"freeCodeCamp","item":"https://daily.dev/sources/freecodecamp"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/freecodecamp/best-of"},{"@type":"ListItem","position":5,"name":"January 2023"}]}]}
```

