Open Source At Freecodecamp Org Freecodecamp Github Io
Setup freeCodeCamp Mobile App locally Follow these guidelines for setting up a development environment for freeCodeCamp. This is highly recommended if you want to contribute regularly. Some of the contribution workflows â like fixing bugs in the codebase â need you to run the freeCodeCamp app locally. How to Prepare your Local Machine Section titled âHow to Prepare your Local MachineâStart by installing the prerequisite software for your operating system.
Prerequisites Section titled âPrerequisitesâIf Flutter is already installed on your machine, run the following commands to validate the versions: Once you have the prerequisites installed, you need to prepare your development environment. This is common for many development workflows, and you will only need to do this once. Follow these steps to get your development environment ready: Section titled âFollow these steps to get your development environment ready:â- Install Git or your favorite Git client, if you havenât already.
Update to the latest version; the version that came bundled with your OS may be outdated. - Set up Android Studio and Android Emulators with the latest released Android version. We recommend using the Pixel 3a XL and Nexus One (for emulating smaller screens). - (Optional for MacOS) Set up Xcode and iOS Simulator with the latest released iOS version. - Install the Firebase CLI and FlutterFire CLI. - (Optional but recommended) Set up an SSH Key for GitHub. - Install a code editor of your choice.
We highly recommend using Visual Studio Code or Android Studio. We also recommend installing the official extensions. Fork the Repository on GitHub Section titled âFork the Repository on GitHubâForking is a step where you get your own copy of the repository (a.k.a repo) on GitHub. This is essential, as it allows you to work on your own copy of the freeCodeCamp mobile app on GitHub, or to download (clone) your repository to work on locally.
Later, you will be able to request changes to be pulled into the main repository from your fork via a pull request (PR).
Follow these steps to fork the https://github.com/freeCodeCamp/mobile repository: - Go to the freeCodeCamp mobile repository on GitHub: <https://github.com/freeCodeCamp/mobile> - Click the âForkâ Button in the upper right-hand corner of the interface (More Details Here) - After the repository has been forked, you will be taken to your copy of the repository at https://github.com/YOUR_USER_NAME/mobile (YOUR_USER_NAME would be replaced with your GitHub user name.) Clone your Fork from GitHub Section titled âClone your Fork from GitHubâCloning is where you download a copy of a repository from a remote location that is either owned by you or by someone else.
In your case, this remote location is your fork of freeCodeCampâs repository which should be available at https://github.com/YOUR_USER_NAME/mobile . (YOUR_USER_NAME would be replaced with your GitHub user name.) Run these commands on your local machine: - Open a Terminal / Command Prompt / Shell in your projects directory i.e.: /yourprojectsdirectory/ - Clone your fork of freeCodeCamp, replacing YOUR_USER_NAME with your GitHub UsernameThis will download the entire freeCodeCamp mobile repository to your projects directory.
Set up Syncing from Parent Section titled âSet up Syncing from ParentâNow that you have downloaded a copy of your fork, you will need to set up an upstream remote to the parent repository. As mentioned earlier, the main repository is referred to as the upstream repository. Your fork is referred to as the origin repository. You need a reference from your local clone to the upstream repository in addition to the origin repository.
This is so that you can sync changes from the main repository without the requirement of forking and cloning repeatedly. - Change directory to the new mobile directory: - Add a remote reference to the main freeCodeCamp mobile repository: - Ensure the configuration looks correct: The output should look something like below (replacing YOUR_USER_NAME with your GitHub username): Running freeCodeCamp Mobile App Locally Section titled âRunning freeCodeCamp Mobile App LocallyâNow that you have a local copy of the mobile app, you can follow these instructions to run it locally.
If you do run into issues, first perform a web search for your issue and see if it has already been answered. If you cannot find a solution, please search our GitHub issues page for a solution and report the issue if it has not yet been reported. And as always, feel free to ask questions on the âContributorsâ category on our forum or our chat server.
Configuring Dependencies Section titled âConfiguring DependenciesâStep 1: Set Up the Environment Variable File Section titled âStep 1: Set Up the Environment Variable FileâThe default API keys and environment variables are stored in the file sample.env . This file needs to be copied to a new file named .env which is accessed dynamically during the installation step. Remember to change the directory to mobile-app before running the following commands.
macOS/Linux Section titled âmacOS/LinuxâWindows Section titled âWindowsâThe keys in the .env file are not required to be changed to run the app locally. You can leave the default values copied over from sample.env as-is. Step 2: Install dependencies Section titled âStep 2: Install dependenciesâThis step will install the dependencies required for the application to run: Step 3: Start the freeCodeCamp mobile app Section titled âStep 3: Start the freeCodeCamp mobile appâStart the emulator of your choice (Android or iOS) and wait for the bootup process to complete.
You can now start the app by running the following command: Making Changes Locally Section titled âMaking Changes LocallyâYou can now make changes to files and commit your changes to the local clone of your fork.
Follow these steps: - Validate that you are on the main branch:You should get an output like this: If you are not on main or your working directory is not clean, resolve any outstanding files/commits and checkout main : - Sync the latest changes from the upstream main branch to your local main branch:This step will sync the latest changes from the main repository of freeCodeCamp mobile.
It is important that you rebase your branch on top of the latest upstream/main as often as possible to avoid conflicts later.Update your local copy of the freeCodeCamp mobile upstream repository: Hard reset your main branch with the freeCodeCamp mobile main: Push your main branch to your origin to have a clean history on your fork on GitHub: You can validate that your current main matches the upstream/main by performing a diff: The resulting output should be empty.
Create a fresh new branch: Working on a separate branch for each issue helps you keep your local work copy clean. You should never work on the main . This will soil your copy of freeCodeCamp mobile and you may have to start over with a fresh clone or fork.Check that you are on main as explained previously, and branch off from there:Your branch name should start with a fix/ ,feat/ ,docs/ , etc. Avoid using issue numbers in branches.
Keep them short, meaningful, and unique.Some examples of good branch names are: - Edit pages and work on code in your favorite text editor. - Once you are happy with the changes you should optionally run the mobile app locally to preview the changes. - Make sure you fix any errors and check the formatting of your changes. - Check and confirm the files you are updating: This should show a list of unstaged files that you have edited.
Stage the changes and make a commit: In this step, you should only mark files that you have edited or added yourself. You can perform a reset and resolve files that you did not intend to change if needed. Or you can add all the unstaged files to the staging area:Only the files that were moved to the staging area will be added when you make a commit.
Output: Now, you can commit your changes with a short message like so: Some examples: Optional: We highly recommend making a conventional commit message. This is a good practice that you will see on some of the popular Open Source repositories. As a developer, this encourages you to follow standard practices. Some examples of conventional commit messages are: Keep these short, not more than 50 characters. You can always add additional information in the description of the commit message.
This does not take any additional time than an unconventional message like âupdate fileâ or âadd index.mdâ You can learn more about why you should use conventional commits here. - If you realize that you need to edit a file or update the commit message after making a commit you can do so after editing the files with: This will open up a default text editor like nano orvi where you can edit the commit message title and add/edit the description.
Next, you can push your changes to your fork: Running mobile curriculum tests Section titled âRunning mobile curriculum testsâ- Clone a copy of the freeCodeCamp repo locally outside of your local copy of the freeCodeCamp mobile repo.
Your folder structure should look like this: - Change the directory to the freeCodeCamp repo: - Make a copy of the .env file:macOS/Linux Section titled âmacOS/LinuxâWindows Section titled âWindowsâ - Install the dependencies for the freeCodeCamp repo: - Generate the challenge data JSON file: - Copy the generated JSON file to the mobile app: macOS/Linux Section titled âmacOS/LinuxâWindows Section titled âWindowsâ - Change directory to the mobile app: - Install the dependencies for the mobile app: - Update the test file to use the challenge data JSON file: - Generate the challenge files: - Start a local server to serve the challenge files with the help of serve package: - In a different terminal go back to the freeCodeCamp repo: - Run the Playwright tests: Proposing a Pull Request (PR) Section titled âProposing a Pull Request (PR)âAfter youâve committed your changes, check here for how to open a Pull Request.
Troubleshooting Section titled âTroubleshootingâIssues with installing the recommended prerequisites Section titled âIssues with installing the recommended prerequisitesâWe regularly develop on the latest or most popular operating systems like macOS 10.15 or later, Ubuntu 18.04 or later, and Windows 10 (with WSL2). It is recommended to research your specific issue on resources such as Google, Stack Overflow, and Stack Exchange. There is a good chance that someone has faced the same issue and there is already an answer to your specific query.
If you are on a different OS and/or are still running into issues, see getting help. Issues with the UI, build errors, etc. Section titled âIssues with the UI, build errors, etc.âIf you face issues with the UI, or build errors a cleanup can be useful: Issues Installing Dependencies Section titled âIssues Installing DependenciesâIf you get errors while installing the dependencies, please make sure that you are not in a restricted network or that your firewall settings do not prevent you from accessing resources.
Be patient as the first-time setup can take a while depending on your network bandwidth. Getting Help Section titled âGetting HelpâIf you are stuck and need help, feel free to ask questions on the âContributorsâ category on our forum or the contributors chat room. There might be an error in the console of your browser or in Bash / Terminal / Command Line that will help identify the problem.
Provide this error message in your problem description so others can more easily identify the issue and help you find a resolution.
People Also Asked
- Open Source at freeCodeCamp.org | freeCodeCamp.github.io
- GitHub - freeCodeCamp/freeCodeCamp.github.io: A list of some of our ...
- Frequently Asked Questions | Contribute | freeCodeCamp.org
- Top 20 freecodecamp Open-Source Projects | LibHunt
- freeCodeCamp.org · GitHub
- GitHub - freeCodeCamp/freeCodeCamp: freeCodeCamp.org's open-source ...
- freeCodeCamp's Top Open Source Contributors of 2025
Open Source at freeCodeCamp.org | freeCodeCamp.github.io?
In your case, this remote location is your fork of freeCodeCampâs repository which should be available at https://github.com/YOUR_USER_NAME/mobile . (YOUR_USER_NAME would be replaced with your GitHub user name.) Run these commands on your local machine: - Open a Terminal / Command Prompt / Shell in your projects directory i.e.: /yourprojectsdirectory/ - Clone your fork of freeCodeCamp, replacing Y...
GitHub - freeCodeCamp/freeCodeCamp.github.io: A list of some of our ...?
Follow these steps to fork the https://github.com/freeCodeCamp/mobile repository: - Go to the freeCodeCamp mobile repository on GitHub: <https://github.com/freeCodeCamp/mobile> - Click the âForkâ Button in the upper right-hand corner of the interface (More Details Here) - After the repository has been forked, you will be taken to your copy of the repository at https://github.com/YOUR_USER_NAME/mob...
Frequently Asked Questions | Contribute | freeCodeCamp.org?
Setup freeCodeCamp Mobile App locally Follow these guidelines for setting up a development environment for freeCodeCamp. This is highly recommended if you want to contribute regularly. Some of the contribution workflows â like fixing bugs in the codebase â need you to run the freeCodeCamp app locally. How to Prepare your Local Machine Section titled âHow to Prepare your Local MachineâStart by inst...
Top 20 freecodecamp Open-Source Projects | LibHunt?
It is important that you rebase your branch on top of the latest upstream/main as often as possible to avoid conflicts later.Update your local copy of the freeCodeCamp mobile upstream repository: Hard reset your main branch with the freeCodeCamp mobile main: Push your main branch to your origin to have a clean history on your fork on GitHub: You can validate that your current main matches the upst...
freeCodeCamp.org · GitHub?
We highly recommend using Visual Studio Code or Android Studio. We also recommend installing the official extensions. Fork the Repository on GitHub Section titled âFork the Repository on GitHubâForking is a step where you get your own copy of the repository (a.k.a repo) on GitHub. This is essential, as it allows you to work on your own copy of the freeCodeCamp mobile app on GitHub, or to download ...