I also dislike using Codepen. You can’t upload fonts and images without having to pay and it frequently has bugs. Therefore, code that works on my local computer often has problems on Codepen. I just use git and GitHub. In the long run, you’ll be thankful that you used it anyway because every web developer who wants to work in a professional setting should be really comfortable with using them.
Codepen has one thing over GitHub but there’s an easy way to get around it. Besides letting you upload code (which GitHub does), Codepen also previews the code so you and others can immediately see the completed site. Obviously, whenever you submit a URL into FreeCodeCamp, you want to submit a URL where someone can see what you have created and not just the code for it. GitHub has this functionality too but it’s a little more tricky.
You see GitHub actually hosts a free website for you and you can place your projects into this website. Here is the tutorial for how to set up the site on GitHub: https://pages.github.com/. Once you finish with the tutorial, you should have a site at your-username.github.io (obviously, your-username will be replaced with your actual GitHub username). The site corresponds to a repository of the same name under your GitHub account. In that repository, create a folder called portfolio and upload a copy of your completed projects into it. Whenever you turn in a project to FreeCodeCamp, or just want someone to see what you have created, you use the URL: your-username.github.io/portfolio/project-name/index.html
I know all that seems like a lot but it really isn’t and I’ll use my own work as an example to help clarify things. When I started doing the Weather App project for FreeCodeCamp, I first created a repository for it called weather-app. You can see it under my repositories: https://github.com/Alanh168?tab=repositories. Then, once finished with the project, I uploaded a copy of it into the portfolio folder of my main GitHub website: https://github.com/Alanh168/Alanh168.github.io. So when I finally went to submit the project, instead of using a Codpen URL, I submitted alanh168.github.io/portfolio/weather-app/index.html