Novice Developer willing to contribute

Hello Everyone,

I’ve read the related guide and I’m running the FreeCodeCamp App locally.
I would like to understand how the App works, both back and front end, and to contribute starting to takle some simple issue.

I am asking for suggestions about where to start to study this App and how it works. Maybe are there other similar form discussions?
What are good issues/contributions to start with?
Or maybe if you know other similar open source projects, based on Node/React that offer simple issues to start with?

I’ve followed some introductory tutorials about Node and React, I’m not that used to Typescript and I’ve never used Gatsby.

Many thanks in advance,

have you already gone through the contributing documentation at

yes, I read it.

I was asking what is the best approach to understand how the App works. Which files to look at first for example…

Welcome there,

You are welcome to contribute to the freeCodeCamp/freeCodeCamp repository. We often suggest starting by looking for issues labelled with the first timers only label, as these usually include a detailed description of how you can get started - what changes to make, and where to make them.

If you would like a high overview of the app, and how it works in the background, we specifically integrate CodeSee for this purpose. To use it, you can follow these steps:

  1. Fork the repository as mentioned in Contributor Docs
  2. In the .env file, change the value of CODESEE to true
  3. Run npm ci to install the necessary tooling (must be done after step 2)
  4. Follow the rest of the instructions in the Contributor Docs to set up your development environment

As mentioned above, any issue with first timers only or help wanted labels are open for contribution, and usually come with a description of what change is expected to be made.

We do not really have specific similar projects on hand, but you can easily search for open source projects on GitHub by the technology they use.

The codebase can be intimidating to first-timers, but that is how it is to everyone. Often, the best way to get started is to just GET STARTED - dive into solving one small issue. It might take you a long time, and you may encounter many bugs, but this is a really decent way to familiarise yourself with a codebase - explore the bugs.

Also, we are on the forums and in the contributors Chat room, if you have any questions or get stuck.

Hope this helps

Many thanks for your reply,
it was really helpful.

I will follow your suggestions :slight_smile: