Quick update on Beta

As you all may know, the beta curriculum itself - and the new settings/portfolio pages - have been done and ready to launch for several weeks now.

The reason we haven’t launched them is we saw an opportunity to quickly re-architect freeCodeCamp so it can be faster, more secure, and much easier to contribute to.

And today I’m going to share with you the changes we’ve made.

We’ve broken the freeCodeCamp beta “monolith” down into several services:

Improvement #1: freeCodeCamp Learn

The freeCodeCamp coding challenges are now housed in a separate web app, freeCodeCamp Learn. This coding environment uses Gatsby.js and is much easier to maintain than our old beta learning environment.

Now you’ll be able to start contributing to the curriculum and freeCodeCamp Learn platform within minutes, rather than the much longer setup necessary for the old beta learning platform.

We’re still working on linking it with freeCodeCamp accounts. And we’re still tweaking the UI, the VS Code Monaco code editor (a replacement for Codemirror), and the offline mode. Soon it will look something like this:

@bouncey is leading this freeCodeCamp Learn effort.

The current build is live here and here is the Learn repo.

Improvement #2: Auth0

Auth0 has agreed to give us essentially unlimited use of their product, and we’re using that for authentication rather than rolling our own authentication. This means campers will be able to use a single passwordless authentication across several freeCodeCamp subdomains (including Guide and Learn). @raisedadead is leading this effort.

Improvement #3: GraphQL

We’re building a GraphQL API that sits on top of our MongoDB server. Everything on the platform will be able to now use GraphQL queries instead of needing hard-code endpoints.

The repo and its endpoints are here: https://github.com/freeCodeCamp/open-api/

@ojongerius is leading this effort.

We will be opening and closing GitHub issues to reflect these changes. We welcome your contributions, and are happy to answer any questions you may have about these improvements.

51 Likes

@QuincyLarson Wow! All these updates are just amazing! They will truly change the way freeCodeCamp currently works. The new freeCodeCamp learn platform is headed in a good direction.

Its under heavy development so, I will keep on finding bugs and I’ll open issues for them. I’m super excited to see the final version! :grin:

5 Likes

@QuincyLarson I don’t think there’s a word big enough to reflect the amount of gratitude we have for the effort you and all FCC team members/volunteers are putting in to help educate people around the globe.
It’s looking awesome, Many Thanks!

10 Likes

Thanks for your kind words! The Learn repo is here. Thanks for helping report bugs you find!

2 Likes

Thanks for your kind words! In 2017 We were mostly focused on building the YouTube channel, Medium publication, podcast, and getting this forum going, and we sort of neglected the core learning platform. So we are in full gear now, making up for lost time :slight_smile:

8 Likes

@QuincyLarson

Quick question about the difference between beta.freecodecamp and learn.freecodecamp, and what the plan is for migrating these to the main site.

If we’re testing the new challenges etc should we switch to learn.freecodecamp and ignore the beta site from now on?

Is the plan to completely decommision the beta and switch to the new technology for the main site at the same time?

Apologies if you’ve answered these somewhere else, I think I’ve missed it

2 Likes

Hi @gebulmer Thanks for the feedback, and we understand the confusion. beta has always been a testing ground.

We have learnt so much about scaling from the version at beta. Yes, it will be decommissioned and learn will be the standalone app for the coding platform.

You will gradually see that the beta site is taken down and once the learn platform has all of the challenges moved over from beta, we will switch from main website.

But, we would do the roll out in a slow and progressive manner. This is so that we do not break stuff for anyone.

4 Likes

@raisedadead Will a camper’s progress in the beta version be lost in the future, or we can keep on learning without worrying about that ? Thank you in advance.

2 Likes

All progress on beta will be deleted right before we deploy beta to freecodecamp.org. You can easily re-submit any project URLs though, so you’d only need to re-do optional challenges.

1 Like

@QuincyLarson So will the team be completing the rearchitecture prior to or concurrent with the deployment of beta?

Prior. We’re getting quite close (you can follow progress here: https://github.com/orgs/freeCodeCamp/projects/1

@QuincyLarson Thanks for clarifying and replying so quickly!

Just to be sure I understood it: beta.freecodecamp.org is currently running code from github.com/freecodecamp/freecodecamp, and that repo is going to be discontinued in favor of https://github.com/freeCodeCamp/learn?

So if I want to contribute to the beta by testing and reporting issues/sending patches I shouldn’t even bother setting up a dev environment for freecodecamp/freecodecamp? Thanks!

Most of the github.com/freecodecamp/freecodecamp logic will remain:

  • authentication
  • settings
  • portfolios (with solutions, streaks, etc.)

https://github.com/freeCodeCamp/learn is just replacing the coding lessons themselves (we will remove these completely from github.com/freecodecamp/freecodecamp once https://github.com/freeCodeCamp/learn is farther along).

So yes - you should still try to get github.com/freecodecamp/freecodecamp running locally. Much of that code will remain relevant.

1 Like

@QuincyLarson So far, the new platform you’re working on contains 5 sections whereas the beta one contains additional ones such as Information Security And Quality Assurance and Coding Interview Questions And Take Home Assignments. Will these two sections remain in the new platform? Or they’re going to be changed with something else? I hope they’ll remain because from what I’ve seen, their contents are very rich and important.
Thank you all for your great efforts and for giving millions of people the opportunity to learn for free :smiley:

This looks so great! Huge thank to you and the team for all your awesome, hard work! :pray: :sparkles: :sparkles::sparkles:

1 Like

Awesome news, @QuincyLarson ! Way to go, Team FCC! You guys rock!

So, I’ve been away from FCC for a while (probably a relief for the devs trying fix bugs), and I just wanted to ask where I should go to beta-test for FCC? Is it here? Or should I still do it at Beta FCC?

Best,
Glenn

Looking forward for the release. well done everyone!

Yes - learn.freecodecamp.org is our much faster, lighter weight replacement for the code that’s on beta.freecodecamp.org. We are working to polish it and release it ASAP. If you want to help improve it, you can open issues on https://github.com/freeCodeCamp/learn and contribute code there.

There are a lot of low-hanging fruit improvements that can be made there. @Bouncey is focused mostly on integrating freeCodeCamp’s back end and authentication into Learn at the moment. The UI especially could use some love :slight_smile:

3 Likes

Yes - we just added the Information Security and Quality Assurance certification to learn.freecodecamp.org a few hours ago, and we plan to add a lot of the Interview Prep challenges in the next few days :slight_smile:

4 Likes