freeCodeCamp.org's open source codebase and curriculum. Learn to code for free.

Overview

freeCodeCamp.org Social Banner

Pull Requests Welcome first-timers-only Friendly Open Source Helpers Setup Automated

freeCodeCamp.org's open-source codebase and curriculum

freeCodeCamp.org is a friendly community where you can learn to code for free. It is run by a donor-supported 501(c)(3) nonprofit to help millions of busy adults transition into tech. Our community has already helped more than 10,000 people get their first developer job.

Our full-stack web development and machine learning curriculum is completely free and self-paced. We have thousands of interactive coding challenges to help you expand your skills.

Table of Contents

Certifications

freeCodeCamp.org offers several free developer certifications. Each of these certifications involves building 5 required web app projects, along with hundreds of optional coding challenges to help you prepare for those projects. We estimate that each certification will take a beginner programmer around 300 hours to earn.

Each of these 50 projects in the freeCodeCamp.org curriculum has its own agile user stories and automated tests. These help you build up your project incrementally and ensure you've fulfilled all the user stories before you submit it.

You can pull in these test suites through freeCodeCamp's CDN. This means you can build these projects on websites like CodePen and Glitch - or even on your local computer's development environment.

Once you’ve earned a certification, you will always have it. You will always be able to link to it from your LinkedIn or résumé. And when your prospective employers or freelance clients click that link, they’ll see a verified certification specific to you.

The one exception to this is if we discover violations of our Academic Honesty Policy. When we catch people unambiguously plagiarizing (submitting other people's code or projects as their own without citation), we do what all rigorous institutions of learning should do - we revoke their certifications and ban those people.

Here are our ten core certifications:

1. Responsive Web Design Certification

2. JavaScript Algorithms and Data Structures Certification

3. Front End Libraries Certification

4. Data Visualization Certification

5. APIs and Microservices Certification

6. Quality Assurance Certification

7. Scientific Computing with Python Certification

8. Data Analysis with Python Certification

9. Information Security Certification

10. Machine Learning with Python Certification

Legacy Full Stack Development Certification

Once you have earned the Responsive Web Design, Algorithms and Data Structures, Front End Libraries, Data Visualization, APIs and Microservices, and Legacy Information Security and Quality Assurance certifications, you'll be able to claim your freeCodeCamp.org Full Stack Development Certification. This distinction signifies that you've completed around 1,800 hours of coding with a wide range of web development tools.

Legacy Certifications

We also have 4 legacy certifications dating back to our 2015 curriculum, which is still available. All of the required projects for these legacy certifications will remain available on freeCodeCamp.org.

  • Legacy Front End Development Certification
  • Legacy Data Visualization Certification
  • Legacy Back End Development Certification
  • Legacy Information Security and Quality Assurance Certification

The Learning Platform

This code is running live at freeCodeCamp.org.

Our community also has:

  • A forum where you can usually get programming help or project feedback within hours.
  • A YouTube channel with free courses on Python, SQL, Android, and a wide variety of other technologies.
  • A technical publication with thousands of programming tutorials and articles about math and computer science.
  • A chat server where you can hang out and talk with developers and people who are learning to code.

Join the community here.

Reporting Bugs and Issues

If you think you've found a bug, first read the how to report a bug article and follow its instructions.

If you're confident it's a new bug and have confirmed that someone else is facing the same issue, go ahead and create a new GitHub issue. Be sure to include as much information as possible so we can reproduce the bug.

Reporting Security Issues and Responsible Disclosure

If you think you have found a vulnerability, please report responsibly. Don't create GitHub issues for security issues. Instead, please send an email to [email protected] and we'll look into it immediately.

We appreciate any responsible disclosure of vulnerabilities that might impact the integrity of our platforms and users. While we do not offer any bounties or swags at the moment, we'll be happy to list your name in our Hall of Fame for security researchers.

Contributing

The freeCodeCamp.org community is possible thanks to thousands of kind volunteers like you. We welcome all contributions to the community and are excited to welcome you aboard.

Please follow these steps to contribute.

Platform, Build, and Deployment Status

The general platform status for all our applications is available at status.freecodecamp.org. The build and deployment status for the code is available in our DevOps Guide.

License

Copyright © 2021 freeCodeCamp.org

The content of this repository is bound by the following licenses:

  • The computer software is licensed under the BSD-3-Clause license.
  • The learning resources in the /curriculum directory including their subdirectories thereon are licensed under the CC-BY-SA-4.0 license.
Comments
  • TypeScript migration

    TypeScript migration

    Co-ordination

    As discussed in the last contributors meeting we're looking to migrate our client to TypeScript.

    In order to help people work in parallel this issue can be used to track who is working on what. I've put a checklist of all the unmigrated files at the bottom. If you want to work on a file or some files, please edit in your github username next to the file(s) you want to work on. If you don't have edit permission, please just reply to this issue @ me and I'll take care of it.

    Guidelines

    Take a look at the Codebase Best Practices

    Small is beautiful

    If a file can be migrated on its own, that's perfect. That makes the PR incredibly easy to review and minimises the chance we break anything.

    PropTypes can go

    None of the components in the client dirs are intended to be consumed by JavaScript components - eventually everything will be tsx. With that in mind static type checking should be enough.

    React Guidelines

    So, we're all on the same page: https://github.com/typescript-cheatsheets/react#readme has some useful advice. Mostly the linters will warn us, but this is definitely worth a look.

    un-typed packages

    If the package does not come with types attached, then please npm i the definitions (if they exist) from DefinitelyTyped. Usually they're just published as @types/name-of-package.

    Ignore linting if necessary

    Migration should be incremental and painless. If you find that fixing the type and lint errors can't be done without migrating all the related files, feel free to use @ts-ignore or eslint-disable. However, this should only be a last resort when the problems cannot be addressed otherwise.

    That said, it's more important that each change is easy to understand and review than it is it write perfect TS. We'll get there eventually.

    Keeping Git History

    Sometimes changing the file from <filename>.js -> <filename>.tsx? causes the original file to be deleted, and a new one created, and other times the filename just changes - in terms of Git. Ideally, we want the file history to be preserved.

    The best bet at achieving this is by:

    1. Rename the file
    2. Commit with the flag --no-verify to prevent husky from complaining about the errors
    3. Refactor to TS for migration, in a separate commit.

    Note: Editors like VSCode are still likely to show you the file has been deleted and a new one created. If you use the CLI to git add ., then VSCode will show the file as renamed in stage

    Tests are running

    We will not be merging any PRs with failing tests.

    Files that cannot be migrated (yet)

    In order to migrate gatsby-node.js, gatsby-config.js and any files that they import requires additional tooling.

    To finish migrating the client, we would need additional tooling to handle gatsby-config, gatsby-node and files they import. This could either be an extra tsc compilation step or potentially via ts-node. However, I'm not sure if ts-node would integrate nicely with gatsby develop or gatsby build, so the compilation approach is probably easier.

    Before going ahead with this, we should profile gatsby develop and gatsby build to make sure that the time to develop and build the site do not increase too much.

    More guidelines may get added

    As we do this, chances are we'll revise the approach. Any thoughts/comments/critiques are welcome, but I wanted to keep this straightforward for now.

    list of files left to migrate (collapsed because it's rather long)
    • [ ] /client/utils/challengeTypes.js @awu43
    • [ ] /client/src/utils/format.js (Not currently possible to migrate)
    • [ ] /client/src/templates/Introduction/Intro.js @vishwasnavadak
    • [ ] /client/src/templates/Introduction/SuperBlockIntro.js @vishwasnavadak
    • [ ] /client/src/templates/Introduction/redux/index.js @ShaunSHamilton
    • [ ] /client/src/templates/Introduction/components/Block.js @Ismailtlem
    • [ ] /client/src/templates/Introduction/components/CertChallenge.js @Ismailtlem
    • [ ] /client/src/templates/Introduction/components/CertificationCard.js @Ismailtlem
    • [ ] /client/src/templates/Introduction/components/Challenges.js @shubhangi013
    • [ ] /client/src/templates/Introduction/components/ClaimCertSteps.js @Ismailtlem
    • [ ] /client/src/templates/Introduction/components/SuperBlockIntro.js @Ismailtlem
    • [ ] /client/src/templates/Challenges/utils/build.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/frame.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/getTargetEditor.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/index.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/index.test.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/postUpdate$.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/worker-executor.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/utils/worker-executor.test.js @Nirajn2311
    • [ ] /client/src/templates/Challenges/redux/code-lock-epic.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/code-storage-epic.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/completion-epic.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/create-question-epic.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/create-question-epic.test.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/current-challenge-saga.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/execute-challenge-saga.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/redux/index.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/rechallenge/builders.js ( Not migrateble at the moment)
    • [ ] /client/src/templates/Challenges/rechallenge/throwers.js
    • [ ] /client/src/templates/Challenges/rechallenge/transformers.js
    • [ ] /client/src/templates/Challenges/components/Test-Suite.js
    • [ ] /client/src/templates/Challenges/components/Tool-Panel.js
    • [ ] /client/src/templates/Challenges/classic/DesktopLayout.js @ShaunSHamilton
    • [ ] /client/src/templates/Challenges/classic/EditorTabs.js @meronokbay
    • [ ] /client/src/templates/Challenges/classic/MobileLayout.js @meronokbay
    • [ ] /client/src/templates/Challenges/classic/MultifileEditor.js @meronokbay
    • [ ] /client/src/redux/accept-terms-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/app-mount-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/cookieValues.js @ShaunSHamilton
    • [ ] /client/src/redux/createStore.js @ShaunSHamilton
    • [ ] /client/src/redux/donation-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/error-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/failed-updates-epic.js @ShaunSHamilton
    • [ ] /client/src/redux/failed-updates-epic.test.js @ShaunSHamilton
    • [ ] /client/src/redux/fetch-user-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/ga-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/ga-saga.test.js @ShaunSHamilton
    • [ ] /client/src/redux/hard-go-to-epic.js @ShaunSHamilton
    • [ ] /client/src/redux/index.js @ShaunSHamilton
    • [ ] /client/src/redux/night-mode-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/report-user-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/rootEpic.js @ShaunSHamilton
    • [ ] /client/src/redux/rootReducer.js @ShaunSHamilton
    • [ ] /client/src/redux/rootSaga.js @ShaunSHamilton
    • [ ] /client/src/redux/show-cert-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/update-complete-epic.js @ShaunSHamilton
    • [ ] /client/src/redux/settings/danger-zone-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/settings/index.js @ShaunSHamilton
    • [ ] /client/src/redux/settings/settings-sagas.js @ShaunSHamilton
    • [ ] /client/src/redux/settings/update-email-saga.js @ShaunSHamilton
    • [ ] /client/src/redux/settings/update-legacy-certificate-saga.js @ShaunSHamilton
    • [ ] /client/src/components/settings/Certification.test.js (@Nirajn2311)
    • [ ] /client/src/components/settings/Honesty.test.js (@Nirajn2311)
    • [ ] /client/src/components/search/redux/index.js @ShaunSHamilton
    • [ ] /client/src/components/layouts/Default.js @sharmaabhinav
    • [ ] /client/src/components/layouts/Learn.js @sharmaabhinav
    • [ ] /client/src/components/landing/Landing.test.js
    • [ ] /client/src/components/landing/index.js
    • [ ] /client/src/components/landing/components/AsSeenIn.js @sembauke
    • [ ] /client/src/components/landing/components/BigCallToAction.js @sembauke
    • [ ] /client/src/components/landing/components/CampersImage.js @sembauke
    • [ ] /client/src/components/landing/components/Certifications.js @sembauke
    • [ ] /client/src/components/landing/components/LandingTop.js @sembauke
    • [ ] /client/src/components/landing/components/Testimonials.js @sembauke
    • [ ] /client/src/components/helpers/index.js @Mvrs
    • [ ] /client/src/components/formHelpers/Form.js @vishwasnavadak
    • [ ] /client/src/components/formHelpers/Form.test.js @vishwasnavadak
    • [ ] /client/src/components/formHelpers/FormFields.js @vishwasnavadak
    • [ ] /client/src/components/formHelpers/FormValidators.js @vishwasnavadak
    • [ ] /client/src/components/formHelpers/index.js @vishwasnavadak
    • [ ] /client/src/components/SolutionViewer/ProjectModal.js @ashiskumar-1999
    • [ ] /client/src/components/SolutionViewer/SolutionViewer.js @ashiskumar-1999
    • [ ] /client/src/components/Map/Map.test.js @sharmaabhinav
    • [ ] /client/src/components/Intro/Intro.test.js @sharmaabhinav
    • [ ] /client/src/components/Intro/index.js @sharmaabhinav
    • [ ] /client/src/components/Flash/redux/index.js (@ShaunSHamilton)
    • [ ] /client/src/components/Donation/assets/ApplePay.js @Nrestrepo05
    • [ ] /client/src/components/Donation/assets/GooglePay.js @Nrestrepo05
    • [ ] /client/src/client/frame-runner.js @ManuSquall
    • [ ] /client/src/client/workers/sass-compile.js @meronokbay
    • [ ] /client/src/client/workers/test-evaluator.js @meronokbay
    • [ ] /client/src/tests/integration/handled-error.test.js @Mvrs
    • [ ] /client/src/mocks/challenge-nodes.js @Mvrs
    • [ ] /client/src/mocks/fileMock.js @Mvrs
    • [ ] /client/src/mocks/gatsby-link.js @Mvrs
    • [ ] /client/src/mocks/gatsby.js @Mvrs
    • [ ] /client/src/mocks/react-i18nextMock.js @Mvrs
    • [ ] /client/src/mocks/styleMock.js @Mvrs
    • [ ] /client/i18n/config.js @Mvrs
    • [ ] /client/i18n/configForTests.js @Mvrs
    • [ ] /client/i18n/locales.test.js @Mvrs
    • [ ] /client/i18n/schema-validation.js @Mvrs
    • [ ] /client/i18n/validate-keys.js @Mvrs
    Merged (at Party)
    • [X] /client/src/templates/Challenges/components/Challenge-Title.js (@moT01)
    • [X] /client/src/templates/Challenges/components/ChallengeTitle.test.js (@moT01)
    • [X] /client/src/templates/Challenges/components/CompletionModal.js (@moT01)
    • [X] /client/src/templates/Challenges/components/CompletionModal.test.js (@moT01)
    • [X] /client/src/templates/Challenges/components/CompletionModalBody.js (@moT01)
    • [X] /client/src/templates/Challenges/components/CompletionModalBody.test.js (@moT01)
    • [X] /client/src/templates/Challenges/components/Hotkeys.js (@moT01)
    • [X] /client/src/templates/Challenges/components/Output.js ( @thecodingaviator )
    • [X] /client/src/templates/Challenges/components/ResetModal.js (@moT01)
    • [X] /client/src/templates/Challenges/codeally/show.js (@moT01)
    • [X] /client/src/templates/Challenges/classic/Show.js (@moT01)
    • [x] /client/src/redux/propTypes.js (@ShaunSHamilton)
    • [X] /client/src/pages/404.js @awu43
    • [X] /client/src/pages/certification.js @awu43
    • [X] /client/src/pages/challenges.js @awu43
    • [X] /client/src/pages/challenges.test.js @awu43
    • [X] /client/src/pages/donate.js @awu43
    • [X] /client/src/pages/email-sign-up.js @awu43
    • [X] /client/src/pages/index.js @awu43
    • [X] /client/src/pages/learn.js @awu43
    • [X] /client/src/pages/settings.js @awu43
    • [X] /client/src/pages/unsubscribed.js @awu43
    • [X] /client/src/pages/update-email.js @awu43
    • [X] /client/src/pages/user.js @awu43
    • [X] /client/src/components/AppMountNotifier.js @sharmaabhinav
    • [X] /client/src/components/settings/About.js (@Nirajn2311)
    • [X] /client/src/components/settings/DangerZone.js (@Nirajn2311)
    • [X] /client/src/components/settings/DeleteModal.js (@Nirajn2311)
    • [X] /client/src/components/settings/Email.js (@Nirajn2311)
    • [X] /client/src/components/settings/Honesty.js (@Nirajn2311)
    • [X] /client/src/components/settings/Internet.js (@Nirajn2311)
    • [X] /client/src/components/settings/Portfolio.js (@Nirajn2311)
    • [X] /client/src/components/settings/Privacy.js (@Nirajn2311)
    • [X] /client/src/components/settings/ResetModal.js (@Nirajn2311)
    • [X] /client/src/components/settings/SectionHeader.js (@Nirajn2311)
    • [X] /client/src/components/settings/Theme.js (@Nirajn2311)
    • [X] /client/src/components/settings/ToggleSetting.js (@Nirajn2311)
    • [X] /client/src/components/settings/Username.js (@Nirajn2311)
    • [X] /client/src/components/search/searchPage/EmptySearch.js @krishna-saurav
    • [X] /client/src/components/search/searchPage/NoResults.js @krishna-saurav
    • [X] /client/src/components/search/searchPage/SearchPageHits.js @krishna-saurav
    • [X] /client/src/components/search/searchBar/NoHitsSuggestion.js @krishna-saurav
    • [X] /client/src/components/search/searchBar/SearchBar.js @krishna-saurav
    • [X] /client/src/components/search/searchBar/SearchBar.test.js @krishna-saurav
    • [X] /client/src/components/search/searchBar/SearchHits.js @krishna-saurav
    • [X] /client/src/components/search/searchBar/SearchSuggestion.js @krishna-saurav
    • [X] /client/src/components/profile/Profile.js @Dripcoding
    • [X] /client/src/components/profile/Profile.test.js @Dripcoding
    • [X] /client/src/components/profile/components/Camper.js @Dripcoding
    • [X] /client/src/components/profile/components/Certifications.js @Dripcoding
    • [X] /client/src/components/profile/components/HeatMap.js @Dripcoding
    • [X] /client/src/components/profile/components/HeatMap.test.js @Dripcoding
    • [X] /client/src/components/profile/components/Portfolio.js @Dripcoding
    • [X] /client/src/components/profile/components/SocialIcons.js @Dripcoding
    • [X] /client/src/components/profile/components/TimeLine.js @Dripcoding
    • [X] /client/src/components/profile/components/TimeLine.test.js @Dripcoding
    • [X] /client/src/components/profile/components/TimelinePagination.js @Dripcoding
    • [X] /client/src/components/helpers/AvatarRenderer.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/ButtonSpacer.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/CurrentChallengeLink.js @Mvrs
    • [X] /client/src/components/helpers/FullWidthRow.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/ImageLoader.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/Link.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/Link.test.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/Loader.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/Loader.test.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/SkeletonSprite.js @Mvrs
    • [X] /client/src/components/helpers/SlimWidthRow.js @Mvrs
    • [X] /client/src/components/helpers/Spacer.js @Mvrs
    • [X] /client/src/components/helpers/ToggleButton.js @Mvrs
    • [X] /client/src/components/helpers/borderColorPicker.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/form/BlockSaveButton.js ( @thecodingaviator )
    • [X] /client/src/components/helpers/form/BlockSaveWrapper.js ( @thecodingaviator )
    • [X] /client/src/components/formHelpers/BlockSaveButton.js ( @thecodingaviator )
    • [X] /client/src/components/formHelpers/BlockSaveButton.test.js ( @thecodingaviator )
    • [X] /client/src/components/formHelpers/BlockSaveWrapper.js ( @thecodingaviator )
    • [X] /client/src/components/formHelpers/BlockSaveWrapper.test.js ( @thecodingaviator )
    • [X] /client/src/components/OfflineWarning/index.js @mnlightstone
    • [X] /client/src/components/Header/index.js @akshatgarg12
    • [X] /client/src/components/Header/components/AuthOrProfile.js @akshatgarg12
    • [X] /client/src/components/Header/components/Login.js @akshatgarg12
    • [X] /client/src/components/Header/components/MenuButton.js @akshatgarg12
    • [X] /client/src/components/Header/components/NavLinks.js @akshatgarg12
    • [X] /client/src/components/Header/components/NavLogo.js @akshatgarg12
    • [X] /client/src/components/Header/components/UniversalNav.js @akshatgarg12
    • [X] /client/src/components/Header/components/UserState.js @akshatgarg12
    • [X] /client/src/client-only-routes/ShowCertification.js (@ShaunSHamilton)
    • [X] /client/src/client-only-routes/ShowProfileOrFourOhFour.js (@ShaunSHamilton)
    • [X] /client/src/client-only-routes/ShowProjectLinks.js (@ShaunSHamilton)
    • [X] /client/src/client-only-routes/ShowSettings.js (@ShaunSHamilton)
    • [X] /client/src/client-only-routes/ShowSettings.test.js (@ShaunSHamilton)
    • [X] /client/src/client-only-routes/ShowUnsubscribed.js (@ShaunSHamilton)
    • [X] /client/src/client-only-routes/ShowUser.js (@ShaunSHamilton)
    • [X] /client/src/assets/images/components/AmazonLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/images/components/AppleLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/images/components/AsFeatureLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/images/components/GoogleLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/images/components/MicrosoftLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/images/components/SpotifyLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/images/components/index.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/APIIcon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Algorithm.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Analytics.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Caret.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/CertificationIcon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Clipboard.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Cup.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/D3Icon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/DefaultAvatar.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/DonateWithPayPal.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Fail.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/FreeCodeCampLogo.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/GreenNotCompleted.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/GreenPass.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Heart.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Initial.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/IntroInformation.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/JavaScriptIcon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/LinkButton.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/PythonIcon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/ReactIcon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/ResponsiveDesign.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Shield.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/Spacer.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/TensorflowIcon.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/ToggleCheck.js ( @thecodingaviator )
    • [X] /client/src/assets/icons/index.js ( @thecodingaviator )
    • [x] /client/src/analytics/index.js ( @thecodingaviator )
    • [X] /client/src/analytics/mocks/index.js ( @thecodingaviator )
    • [x] /client/utils/index.js @awu43
    • [x] /client/utils/stateManagement.js @awu43
    • [x] /client/utils/tags.js @awu43
    • [x] /client/utils/tags.test.js @awu43
    • [x] /client/utils/gatsby/layoutSelector.js @awu43
    • [x] /client/utils/gatsby/layoutSelector.test.js @awu43
    • [x] /client/src/utils/ajax.js @awu43
    • [x] /client/src/utils/algolia-locale-setup.js @awu43
    • [x] /client/src/utils/curriculum-helpers.test.js @awu43
    • [x] /client/src/utils/format.test.js @awu43
    • [x] /client/src/utils/get-words.js @awu43
    • [x] /client/src/utils/handled-error.js @awu43
    • [x] /client/src/utils/handled-error.test.js @awu43
    • [x] /client/src/utils/index.js @awu43
    • [x] /client/src/utils/reallyWeirdErrorMessage.js @awu43
    • [x] /client/src/utils/report-error.js @awu43
    • [x] /client/src/utils/reportedErrorMessage.js @awu43
    • [x] /client/src/utils/scriptLoaders.js @awu43
    • [x] /client/src/utils/standardErrorMessage.js @awu43
    • [x] /client/src/utils/to-learn-path.js @awu43
    • [x] /client/src/pages/search.js @awu43
    • [x] /client/src/components/RedirectHome.js ( @thecodingaviator )
    • [x] /client/src/components/createExternalRedirects.js ( @thecodingaviator )
    • [x] /client/src/components/createExternalRedirects.test.js ( @thecodingaviator )
    • [x] /client/src/components/createLanguageRedirect.js ( @thecodingaviator )
    • [x] /client/src/components/createLanguageRedirect.test.js ( @thecodingaviator )
    • [x] /client/src/components/createRedirect.js ( @thecodingaviator )
    • [x] /client/src/components/settings/Certification.js (@Nirajn2311)
    • [x] /client/src/components/Donation/DonateCompletion.js @Nrestrepo05
    • [x] /client/src/components/Donation/DonateForm.js @Nrestrepo05
    • [x] /client/src/components/Donation/DonationModal.js @Nrestrepo05
    • [x] /client/src/components/Donation/DonationTextComponents.js @Nrestrepo05
    • [x] /client/src/components/Donation/PayPalButtonScriptLoader.js @Nrestrepo05
    • [x] /client/src/components/Donation/PaypalButton.js @Nrestrepo05
    • [x] /client/src/components/Intro/components/IntroDescription.js @Ismailtlem
    • [x] /client/src/components/Header/Header.test.js @Ismailtlem
    • [x] /client/src/components/FourOhFour/index.js @nhcarrigan
    • [x] /client/src/components/Footer/Footer.test.js ( @thecodingaviator )
    • [x] /client/src/components/Footer/index.js ( @thecodingaviator )
    • [x] /client/src/templates/Challenges/projects/SolutionForm.js ( @Sembauke )
    • [x] /client/src/templates/Challenges/projects/Tool-Panel.js ( @thecodingaviator )
    • [x] /client/src/components/search/WithInstantSearch.js @awu43
    • [x] /client/src/templates/Challenges/components/PrismFormatted.js ( @thecodingaviator )
    • [x] /client/src/templates/Challenges/classic/ActionRow.js @meronokbay
    • [x] /client/src/templates/Challenges/classic/Editor.js (@ShaunSHamilton)
    • [x] /client/src/resources/certAndProjectMap.js ( @thecodingaviator )
    • [x] /client/src/resources/honesty-policy.js ( @thecodingaviator )
    • [x] /client/src/components/layouts/Certification.js @RaymenDeol
    • [x] /client/src/components/layouts/index.js @Ismailtlem
    • [x] /client/src/components/helpers/skeletonStyles.js @Mvrs
    • [x] /client/src/components/OfflineWarning/OfflineWarning.js @mnlightstone
    • [x] /client/src/components/Map/index.js @sharmaabhinav
    • [X] /client/src/html.js ( @thecodingaviator )
    • [x] /client/src/utils/createTypes.js @ShaunSHamilton
    • [X] /client/src/utils/__fixtures/curriculum-helpers-css.js ( @thecodingaviator )
    • [X] /client/src/utils/__fixtures/curriculum-helpers-html.js ( @thecodingaviator )
    • [X] /client/src/utils/__fixtures/curriculum-helpers-javascript.js ( @thecodingaviator )
    • [X] /client/src/utils/__fixtures/curriculum-helpers-remove-white-space.js ( @thecodingaviator )
    • [X] /client/src/templates/Challenges/video/Show.js (@moT01)
    • [X] /client/src/templates/Challenges/projects/frontend/Show.js (@moT01)
    • [X] /client/src/templates/Challenges/projects/backend/Show.js (@moT01)
    • [X] /client/src/templates/Challenges/components/BreadCrumb.js (@moT01)
    • [x] /client/src/templates/Challenges/components/Challenge-Description.js (@sembauke)
    • [x] /client/src/templates/Challenges/components/HelpModal.js @iigorcunha
    • [x] /client/src/templates/Challenges/components/Preview.js @iigorcunha
    • [x] /client/src/templates/Challenges/components/Side-Panel.js @iigorcunha
    • [x] /client/src/templates/Challenges/components/VideoModal.js @iigorcunha
    help wanted platform: client 
    opened by ojeytonwilliams 132
  • Migrate React-Redux Curriculum into FCC Codebase

    Migrate React-Redux Curriculum into FCC Codebase

    Key:

    • :white_check_mark: Challenge is migrated and solution has been successfully QA'd in FCC editor.
    • :1st_place_medal: Challenge copy has been QA'd and confirmed, ready to ship.

    React Challenges:

    • :white_check_mark: :1st_place_medal: 1: Create a Simple JSX element
    • :white_check_mark: :1st_place_medal: 2: Create a Complex JSX Element
    • ✅ :1st_place_medal: 3: Add Comments in JSX
    • ✅ :1st_place_medal: 4: Render HTML Elements to the DOM
    • ✅ :1st_place_medal: 5: Define an HTML Class in JSX
    • ✅ :1st_place_medal: 6: Learn About Self-Closing JSX Tags
    • ✅ :1st_place_medal: 7: Create a Stateless Functional Component
    • ✅ :1st_place_medal: 8: Create a Component with React
    • ✅ :1st_place_medal: 9: Create a Component with Composition
    • ✅ :1st_place_medal: 10: Use React to Render Nested Components
    • ✅ :1st_place_medal: 11: Compose React Components
    • ✅ :1st_place_medal: 12: Render a Class Component to the DOM
    • ✅ :1st_place_medal: 13: Write a React Component from Scratch
    • ✅ :1st_place_medal: 14: Pass a String to a Functional Component
    • ✅ :1st_place_medal: 15: Pass an Array as Props
    • ✅ :1st_place_medal: 16: Use Default Props
    • ✅ :1st_place_medal: 17: Override Default Props
    • ✅ :1st_place_medal: 18: Use PropTypes to Define the Props You Expect
    • ✅ :1st_place_medal: 19: Access Props Using this.props
    • ✅ :1st_place_medal: 20: Using Props with Stateless Functional Components
    • ✅ :1st_place_medal: 21: Create a Stateful Component
    • ✅ :1st_place_medal: 22: Render State in the UI
    • ✅ :1st_place_medal: 23: Render State in the UI Another Way
    • ✅ :1st_place_medal: 24: Set State with this.setState
    • ✅ :1st_place_medal: 25: Bind 'this' to a Class Method
    • ~26: Bind 'this' with an ES6 Arrow Function~
    • ✅ :1st_place_medal: 27: Use State to Toggle an Element
    • ✅ :1st_place_medal: 28: Write a Simple Counter
    • ✅ :1st_place_medal: 29: Create a Controlled Input
    • ✅ :1st_place_medal: 30: Create a Controlled Form
    • ✅ :1st_place_medal: 31: Pass State as Props to Child Components
    • ✅ :1st_place_medal: 32: Pass a Callback as Props
    • ✅ :1st_place_medal: 33: Use the Lifecycle Method componentWillMount
    • ✅ :1st_place_medal: 34: Use the Lifecycle Method componentDidMount
    • ✅ :1st_place_medal: 35: Add Event Listeners
    • ✅ :1st_place_medal:36: Manage Updates with Lifecycle Methods
    • ✅ :1st_place_medal: 37: Optimize Re-Renders with shouldComponentUpdate
    • ✅ :1st_place_medal: 38: Introducing Inline Styles
    • ✅ :1st_place_medal: 39: Add Inline Styles in React
    • ✅ :1st_place_medal: 40: Use Advanced JavaScript in React Render Method
    • ✅ :1st_place_medal: 41: Render with an If/Else Condition
    • ✅ :1st_place_medal: 42: Use && for a More Concise Conditional
    • ~43: Return null to Prevent Rendering~
    • ✅ :1st_place_medal: 44: Use a Ternary Expression for Conditional Rendering
    • ✅ :1st_place_medal: 45: Render Conditionally from Props Note: Pete, refactor with simulate()
    • ✅ :1st_place_medal: 46: Change Inline CSS Conditionally Based on Component State
    • ✅ :1st_place_medal: 47: Use Array.map() to Dynamically Render Elements
    • ✅ :1st_place_medal: 48: Give Sibling Elements a Unique Key Attribute
    • ✅ :1st_place_medal: 49: Use Array.filter() to Dynamically Filter an Array
    • ✅ :1st_place_medal: 50: Render React on the Server with renderToString

    Redux Challenges:

    • ✅ :1st_place_medal: 1: Create a Redux Store
    • ✅ :1st_place_medal: 2: Get the State of the Redux Store
    • ✅ :1st_place_medal: 3: Define a Redux Action
    • ✅ :1st_place_medal: 4: Define an Action Creator
    • ✅ :1st_place_medal: 5: Dispatch an Action Event
    • ✅ :1st_place_medal: 6: Handle an Action in the Store
    • ✅ :1st_place_medal: 7: Use a Switch Statement to Handle Multiple Actions
    • ✅ :1st_place_medal: 8: Use const for Action Types
    • ✅ :1st_place_medal: 9: Register a Store Listener
    • ✅ :1st_place_medal: 10: Combine Multiple Reducers
    • ✅ :1st_place_medal: 11: Send Action Data to the Store
    • ✅ :1st_place_medal: 12: Use Middleware to Handle Asynchronous Actions
    • ✅ :1st_place_medal: 13: Write a Counter with Redux
    • ✅ :1st_place_medal: 14: Never Mutate State
    • ✅ :1st_place_medal: 15: Use the Spread Operator on Arrays
    • ✅ :1st_place_medal: 16: Remove an Item from an Array
    • ✅ :1st_place_medal: 17: Copy an Object with Object.assign
    • ~18: Use the ES6 Spread Operator with Objects~

    React-Redux Challenges:

    • ✅ :1st_place_medal: 1: Getting Started with React Redux
    • ✅ :1st_place_medal: 2: Manage State Locally First
    • ✅ :1st_place_medal: 3: Extract State Logic to Redux
    • ✅ :1st_place_medal: 4: Use Provider to Connect Redux to React
    • ✅ :1st_place_medal: 5: Map State to Props
    • ✅ :1st_place_medal: 6: Map Dispatch to Props
    • ✅ :1st_place_medal: 7: Connect Redux to React
    • ✅ :1st_place_medal: 8: Connect Redux to the Messages App
    • ✅ :1st_place_medal: 9: Extract Local State into Redux
    • ✅ :1st_place_medal: 10: Moving Forward From Here

    Notes

    • There is no support for async tests in the automated test environment (we skip them currently).
    • These challenges rely on editor.getOriginalCode() to provide the original, untranspiled code string.
    • Transpiled head and tail code is required in the FCC editor during for some of these challenges but is currently not working.
    • Preview function is currently not working for these challenges.

    Type of Change

    • [x] New feature (non-breaking change which adds new functionality)
    • [x] Closes #16115

    Description

    Migrate the React-Redux Curriculum from the prototype module into the FCC codebase.

    Checklist

    • [x] Populate challenge files (title, description, seed code, solution).
    • [x] Challenge solutions pass tests under automated test suite.
    • [x] Manually check solutions work in app.
    • [x] QA challenge & test copy

    Motivational Images

    screen shot 2017-12-03 at 8 10 11 pm

    screen shot 2017-12-03 at 7 59 26 pm screen shot 2017-12-11 at 8 02 36 pm
    opened by bonham000 114
  • Deprecate Gitter rooms, Download all data

    Deprecate Gitter rooms, Download all data

    Many old rooms such as /helpBonfires are now deprecated, but campers still join them. We need a contributor who's earned write access to this repo to go through and update the topic of these rooms by running:

    /topic This room is inactive, and only exists for archival purposes. Join some active rooms - here's the full list: https://www.freecodecamp.com/wiki/en/official-free-code-camp-chat-rooms/
    
    opened by QuincyLarson 114
  • Incorrect output for some equations - example javascript calculator project

    Incorrect output for some equations - example javascript calculator project

    Challenge Name: Build a Javascript Calculator

    https://codepen.io/FreeCodeCamp/full/rLJZrA/

    Issue Description

    Hey Team, I've been working on building my Javascript calculator, and thought it worth noting to you guys, that an error in the example project, actually made me re-think mine entirely (which was actually very helpful!). I noticed when checking equations on mine against yours, that something didn't seem right. Even though our answers matched, I thought something was off, so I checked the equation in another (production) calculator, and it turns out - we were both wrong! For longer, tricky equations that require "order of operations" logic, the example calc will not output the correct answer - rather it seems to just chain the operators, instead of evaluating the string as a true mathematical expression. Noticing this actually led me to fix the problem in my own calc, so I am very thankful, but... I thought you might want to know anyway (assuming you don't already).

    Here's an example:

    5x4-3+6X4/5= 18.4

    I think it should actually output 21.8 for this equation.

    Browser Information

    shouldn't matter but Chrome.

    Screenshot: image

    Thanks,

    Pete @no-stack-dub-sack

    status: discussing 
    opened by no-stack-dub-sack 89
  • ES6: Create Strings using Template Literals - Test Fails - Doesn't detect template strings

    ES6: Create Strings using Template Literals - Test Fails - Doesn't detect template strings

    Challenge Name

    https://beta.freecodecamp.org/en/challenges/es6/create-strings-using-template-literals

    Issue Description

    The challenge is failing the last test, 'Template strings were used'.

    Browser Information

    Browser Name, Version: Operating System: FireFox 57.0 (64-bit) and Chrome Version 63.0.3239.84 (Official Build) (64-bit) Mobile, Desktop, or Tablet: Laptop Windows 10 Professional 64-bit

    Your Code

    
    `const resultDisplayArray = result.failure.map(x => `<li class="text-warning">${x}</li>`);`
    
    

    Screenshot

    image

    opened by mstellaluna 75
  • Chrome displays error message in iframe - Unsual code detected

    Chrome displays error message in iframe - Unsual code detected

    Update

    Please use Firefox while we come up with a fix. Apologies for the inconvenience.


    Challenge Add a Submit Button to a Form has an issue. User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.88 Safari/537.36.

    Description edited by @systimotic for clarification There is a warning displayed in the phone frame. It says: "Chrome detected unusual code on this page and blocked it to protect your personal information (for example, passwords, phone numbers, and credit cards)."

    screenshot

    Code:

    
    <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
    <style>
      .red-text {
        color: red;
      }
    
      h2 {
        font-family: Lobster, Monospace;
      }
    
      p {
        font-size: 16px;
        font-family: Monospace;
      }
    
      .thick-green-border {
        border-color: green;
        border-width: 10px;
        border-style: solid;
        border-radius: 50%;
      }
    
      .smaller-image {
        width: 100px;
      }
    </style>
    
    <h2 class="red-text">CatPhotoApp</h2>
    
    <p>Click here for <a href="#">cat photos</a>.</p>
    
    <a href="#"><img class="smaller-image thick-green-border" alt="A cute orange cat lying on its back. " src="https://bit.ly/fcc-relaxing-cat"></a>
    
    <p>Things cats love:</p>
    <ul>
      <li>cat nip</li>
      <li>laser pointers</li>
      <li>lasagna</li>
    </ul>
    <p>Top 3 things cats hate:</p>
    <ol>
      <li>flea treatment</li>
      <li>thunder</li>
      <li>other cats</li>
    </ol>
    <form action="/submit">
      
    </form>
    <form action="/submit-cat-photo">
      <input type="text" placeholder="cat photo URL">
    </form>
    
    
    
    opened by natuan62 72
  • Timezone breaks submission:

    Timezone breaks submission: "cannot read `join` of null.

    I cann't press the button "Submit and go to my next challenge (ctrl + enter)". But if I clicked I only see the infinite loading. How to solve this problem? default

    opened by ghost 70
  • Cursor jumps randomly in Code Editor.

    Cursor jumps randomly in Code Editor.

    In all the exercises, we the users are forced to press the enter key before writing any code.


    Update:

    We have locked the conversation temporarily on this thread to collaborators only, this has been resolved in staging, and will be live soon.

    The fix can be confirmed on the beta website.

    The workaround currently on production website is: Press the Enter key on the challenge editor and then proceed with the challenge.

    Apologies for the inconvenience meanwhile.

    Reach us in the chat room if you need any assistance.

    type: bug status: resolved/shipping 
    opened by sadathanwar17 66
  • feat: unpack and repack challenges

    feat: unpack and repack challenges

    As part of #16519 --

    npm run unpack extracts challenges into separate files for easier viewing and editing. The files are .gitignored and will not be checked in, and all mongo seed importing will keep using the existing system; this is essentially a tool for editing challenge.json files. These HTML files are self-contained and run their own tests -- open a JS console to see the test results.

    npm run repack gathers up the unpacked/edited HTML files into challenge-block JSON files.

    status: waiting review 
    opened by alexch 65
  • UI Components Library

    UI Components Library

    Problem:

    Currently our HTML and CSS consist of the followings:

    • A custom bootstrap 3 minified stylesheet injected in the head.
    • React-boostrap component library.
    • Custom styles to re-write the bootstrap styles due to changes in design style guide.

    As a result, we would need to remove a lot of the unused styles, overwrites, and find a better way to manage our components.

    Solution:

    We should create our own component library that uses Storybook (isolate the components and document them) and tailwindCSS (style each component) and make sure they meet the web accessibility requirements.


    I would roughly break the project down into smaller tasks, and the list can be adjusted as we go:

    • [x] Setup Storybook - https://github.com/freeCodeCamp/freeCodeCamp/pull/41920
    • [ ] Setup Tailwind CSS
      • [x] Basic Tailwind config - https://github.com/freeCodeCamp/freeCodeCamp/pull/42153
      • [x] Add color tokens to tailwind config (split to issue https://github.com/freeCodeCamp/freeCodeCamp/issues/42186 for further discussion) - https://github.com/freeCodeCamp/freeCodeCamp/pull/42388
      • [ ] Support dark mode #43616
    • [x] Setup React Testing Library and its ESLint plugins - https://github.com/freeCodeCamp/freeCodeCamp/pull/42221
    • [x] Setup TypeScript - #43541
    • [x] Setup Prettier & other ESLint rules - https://github.com/freeCodeCamp/freeCodeCamp/pull/42818
    • [ ] Setup css linter for custom CSS - related https://github.com/freeCodeCamp/freeCodeCamp/issues/16445
    • [ ] Package build and publication setup
      • [x] Setup Bundler (rollup/webpack/parcel) - https://github.com/freeCodeCamp/freeCodeCamp/pull/42549
      • [ ] Setup Publication (not for now)
    • [ ] Write a guide for component development - @huyenltnguyen
    • [ ] Build the following components
      • [ ] Alert #43835
      • [ ] Button - @huyenltnguyen
      • [ ] Col
      • [ ] ControlLabel
      • [ ] DropdownButton (maybe consider using Headless UI's Menu)
      • [ ] Form
      • [ ] FormControl
      • [ ] FormGroup
      • [ ] Grid
      • [ ] HelpBlock
      • [ ] Image
      • [ ] Media
      • [ ] MenuItem
      • [ ] Modal (maybe consider using Headless UI's Dialog)
      • [ ] Panel
      • [ ] Row
      • [ ] Tab
      • [ ] TabPane
      • [ ] Tabs
      • [ ] Table
      • [ ] ToggleButton (maybe consider using Headless UI's Switch)
      • [ ] ToggleButtonGroup
    • [ ] Remove the ToggleButton in /components/helpers and replace it with the one above (? - I'm not sure, I haven't looked at the code closely, but I guess maybe there is a reason to split them)
    • [ ] Use npm-link to link the ui folder with /client
    • [ ] Replace react-bootstrap components with our own, one component at a time
    • [ ] Audit and clean up any unused CSS code
    • [ ] Remove @freecodecamp/react-bootstrap as a dependency
    • [ ] Remove the bootstrap stylesheet injection
    • [ ] Remove all CSS from Learn

    Lists were borrowed from @huyenltnguyen's comment below.

    scope: UI platform: client 
    opened by ahmadabdolsaheb 64
  • Contents of editor can not be reviewed by screen readers

    Contents of editor can not be reviewed by screen readers

    Challenge Say Hello to HTML Elements has an issue. User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2976.0 Safari/537.36. Please describe how to reproduce this issue, and include links to screenshots if possible.

    My code:

    
            <h1>Hello</h1>
    
    

    Tried both the free open source screen reader NVDA and also the commercial JAWS for Windows. Neither screen reader is able to review the text in the editor by character, word, etc. If you press CTRL + a to select the text then the screen readers are able to read the text. This is currently quite unusable for blind and visually impaired screen reader users.

    scope: a11y 
    opened by mjanusauskas 61
  • Unlclear instructions

    Unlclear instructions

    Describe the Issue

    I have followed the instructions but it still gives error

    Affected Page

    https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-52

    Your code

    
    

    Expected behavior

    Gives an error

    Screenshots

    No response

    System

    • Device: [e.g. iPhone 6, Laptop]
    • OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
    • Browser: [e.g. Chrome, Safari]
    • Version: [e.g. 22] Laptop

    Additional context

    No response

    type: bug scope: curriculum status: waiting triage 
    opened by Kel-VinTech 1
  • chore(deps): update dependency @types/jquery to v3.5.15

    chore(deps): update dependency @types/jquery to v3.5.15

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/jquery (source) | 3.5.14 -> 3.5.15 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    renovate 
    opened by renovate[bot] 0
  • chore(deps): update dependency @types/codemirror to v5.60.6

    chore(deps): update dependency @types/codemirror to v5.60.6

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/codemirror (source) | 5.60.5 -> 5.60.6 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    scope: tools/scripts renovate 
    opened by renovate[bot] 0
  • z-index mentioned in passing in balance sheet before being introduced in a later project (picasso painting)

    z-index mentioned in passing in balance sheet before being introduced in a later project (picasso painting)

    Describe the Issue

    In the balance sheet project step 42: https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-42 The following instruction is given: Ensure your years do not get hidden by setting a z-index of 999.

    No explanation is given as to what z-index is used for other than this one line.

    Not until we get to step 10 (https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-10) of the Picasso painting project do we see a full explanation for it. Perhaps the explanation should be moved from the Picasso project to the Balance Sheet project?

    Affected Page

    see writeup above

    Your code

    
    

    Expected behavior

    Since we are asking people to set the z-index in step 42 of the balance sheet project, and since an explanation already exists for what z-index is used for but in a -later- project, maybe we should move that explanation to step 42 of the balance sheet project or at least give a longer explanation of what z-index is supposed to be doing.

    Screenshots

    No response

    System

    N/A

    Additional context

    No response

    type: bug scope: curriculum status: waiting triage 
    opened by hbar1st 0
  • Fix typo, improve instruction, Fix #48872

    Fix typo, improve instruction, Fix #48872

    Fix #48872 fixed typo and improved added 4th case for the description if value is not in array

    Checklist:

    • [x] I have read freeCodeCamp's contribution guidelines.
    • [x] My pull request has a descriptive title (not a vague title like Update index.md)
    • [x] My pull request targets the main branch of freeCodeCamp.
    • [x] I have tested these changes either locally on my machine, or GitPod.

    Closes #48872

    scope: curriculum 
    opened by marksist300 1
  • Fix typo and improve instruction.

    Fix typo and improve instruction.

    Describe the Issue

    The current explanation for the description of a binary Search is:

        Find the middle value of a sorted array. If value == target return (found it!).
        If middle value < target, search right half of array in next compare.
        If middle value > target, search left half of array in next compare.
    

    Maybe for the top line we could rephrase the (found it!) part so people don't confuse this part with the coding challenge, also we could make it clearer with something more generic "return true. (The value has been found)." I think we could also include the base case for when a value is not present in the given array, for example "return false (The value is not present in the array").

    Also in the instruction there's a line:

    If value not is found, Which should be: If the value is not found

    I'm happy to work on it: I'll submit a PR linked to this issue. 🙂

    Affected Page

    https://www.freecodecamp.org/learn/coding-interview-prep/algorithms/implement-binary-search

    Your code

    Issue noted above

    Expected behavior

    Remove typo and improve clarity of instructions

    Screenshots

    No response

    System

    Not a system error

    Additional context

    No response

    type: bug scope: curriculum status: waiting triage 
    opened by marksist300 0
Owner
freeCodeCamp.org
Learn to code for free with millions of other people around the world
freeCodeCamp.org
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
They stole our free learn feature, so it's now time for an open source variant

Quizletbutfree This project was generated using Nx. ?? Smart, Fast and Extensible Build System Quick Start & Documentation Nx Documentation 10-minute

zerxal 2 Nov 13, 2022
An informal website of the alternative of KdB, an curriculum planning support system used in University of Tsukuba

alternative-tsukuba-kdb An informal website of the alternative of KdB, a curriculum planning support system used in University of Tsukuba. This reposi

いなにわうどん 27 Nov 25, 2022
Here are the projects I completed under freeCodeCamp courses

freeCodeCamp Projects Here are the projects I completed under freeCodeCamp courses. For an overview of the course certifications, please visit my free

Quỳnh Vương 0 Mar 1, 2022
This project is part of the 2nd Module 2 Block of Microverse curriculum

To-do list is a tool that helps to organize our day. It simply lists the things that you need to do and allows you to mark them as complete by using ES6 and Webpack!

Ravi Teja 14 Mar 14, 2022
Group project w/ freeCodeCamp Dallas

seal-team-3 Group project w/ freeCodeCamp Dallas Table of Contents Description Technologies Setup Getting Started Team Members Screenshots Links Guest

Bret Petersen 5 Mar 31, 2022
Request-Header-Parser-Microservice App for FreeCodeCamp Backend Challenge

API Project: Request Header Parser Microservice for freeCodeCamp User stories: I can get the IP address, preferred languages (from header Accept-Langu

Christotle Agholor 3 Mar 20, 2022
🌸 A fast and fun way to learn Japanese alphabets: hiragana & katakana. Don't wait - learn now!

Sakurator | Start learning 日本語 here Sakurator (Website publish date: ~4-6 April '22) - a personal trainer for learning Japanese alphabets (hiragana &

Anatoly Frolov 3 Jun 22, 2022
This Next.js app is designed to be used with the Figment Learn Pathways, to help developers learn about various blockchain protocols such as Solana, NEAR, Secret, Polygon and Polkadot!

???? What is learn-web3-dapp? We made this decentralized application (dApp) to help developers learn about Web 3 protocols. It's a Next.js app that us

t0nto 8 Oct 1, 2022
Shikhar 4 Oct 9, 2022
A framewok for building efficient and scalable, cross-platform bots (WhatsApp, Discord, Telegram and more) in a single codebase

project... An over-engineered all-in-one bot framewok for building efficient and scalable bots. Yep that's not a typo u heard it right "scalable bots"

Shubham Badgujar 6 Dec 24, 2022
Maintain your API development, documentation and experimentation all within your codebase.

dostman Maintain your API development, documentation and experimentation all within your codebase. This project is a new release! Feel free to contact

Ege Çavuşoğlu 16 Mar 11, 2022
4WEB is a collection & creation of codebase, frameworks, libraries and various resources dedicated to web development 📦🌐

?? Vous pouvez également contribuer à ajouter/créer votre propre collection dans ce référentiel ... Table des matières ?? Codebase ?? NPM packages ??

Raja Rakotonirina 5 Nov 14, 2022
4Web is a collection&creation of codebase, frameworks, libraries dedicated to web development 📦

?? You can also contribute to add / create your own collection in this repository Collection name Description ?? blinke

Raja Rakotonirina 5 Nov 14, 2022
Use PageRank to find the most important files in your codebase.

Deprank Deprank uses the PageRank algorithm to find the most important files in your JavaScript or TypeScript codebase. It uses dependency-cruiser to

codemix 680 Dec 30, 2022
Astrospeed is a performance monitor for your AstroJS codebase.

astroSpeed astroSpeed Performance monitor for Astro & Next.js web applications. Explore astrospeed.io » View Demo · Report Bug · Request Feature Table

OSLabs Beta 38 Dec 15, 2022
Reference for How to Write an Open Source JavaScript Library - https://egghead.io/series/how-to-write-an-open-source-javascript-library

Reference for How to Write an Open Source JavaScript Library The purpose of this document is to serve as a reference for: How to Write an Open Source

Sarbbottam Bandyopadhyay 175 Dec 24, 2022