FreeCodeCampChina's open source codebase and curriculum
freeCodeCamp is a friendly open source community where you learn to code and help nonprofits.
We help our campers build job-worthy portfolios of real apps used by real people, while helping nonprofits.
You start by working through our self-paced, browser-based full stack JavaScript curriculum.
By working through our curriculum, you can earn four certifications:
1. Front End Certification
The first section will teach you the basics of how webpages work and also introduce you to JavaScript programming.
Skills you'll practice include HTML
, CSS
, JavaScript
, jQuery
and Bootstrap
.
To earn this certification, you'll build 10 front-end projects and implement many JavaScript algorithms.
2. Data Visualization Certification
The second section builds upon the first and introduces you to more advanced topics such as Sass
, React
and D3
.
To earn this certification, you'll build 5 React-apps and 5 Data visualization apps using D3.js
.
3. Back End Certification
The third section introduces you to back end development using Node.js
, Express,
and MongoDB
. It also teaches you about the important concept of source control using Git
.
To earn this certification, you'll build 5 APIs and 5 full stack apps.
We will accept solutions implemented in any programming language, as long as both a live demo and the source code are publicly accessible.
4. Full Stack Certification
The fourth section is where you'll get real-world experience by working on projects for nonprofits. We'll pair you with another camper, an agile project manager, and a stakeholder from a nonprofit organization. Together, you'll plan, build and maintain apps that help that nonprofit carry out its mission more effectively.
For this certification, you'll work on two projects from scratch and then maintain/upgrade two existing projects.
This code is running live at freeCodeCamp.cn. We also have Gitter chat rooms, a Medium publication, an interactive forum, a wiki knowledgebase, and even a YouTube channel.
Join our community here.
Found a bug?
Do not file an issue until you have followed these steps:
- Read the Help I've Found a Bug article and follow its instructions.
- Ask for confirmation in the appropriate Help Room.
- Please do not open an issue without a 3rd party confirmation of your problem.
Contributing
We welcome pull requests from freeCodeCamp campers (our students) and seasoned JavaScript developers alike! Please follow these steps to contribute.
License
Copyright (c) 2017 freeCodeCamp.
The content of this repository bound by the following LICENSE(S)
- The computer software is licensed under the BSD-3-Clause.
- The curricular content as in the
./seed/challenges
or subdirectories and our wiki are licensed under the CC-BY-SA-4.0 - The translation of this website follows the license of CC-BY-NC-4.0,Do not use (it) for commercial/business purpose.
网页不跳转了
Challenge Link to External Pages with Anchor Elements has an issue. User Agent is:
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code:
HTML挑战-Nest an Anchor Element within a Paragraph
2017年1月20日更新:
看到有较多的人回复了该问题,说明不少人都会在这里卡顿,因此reopen问题,希望相关翻译人员能够考虑是否可以优化下问题表述。 (可能已经做了优化,感觉问题的表述跟以前看到的不一样了,如果已经优化或解决,烦请管理员关闭该问题)
另贴出可执行成功的代码(这个问题本身其实并不复杂,所以直接贴出代码,尽量避免大家在此浪费时间)
2016年11月8日原问题描述: 运行始终提示有一项不成功(“你的p元素应该包含文本"View more ",注意more后面有一个空格。”) ,但同样代码在英文版中就可以成功。
代码如下:
for循环中使用num变量会导致浏览器崩溃
Challenge Sum All Odd Fibonacci Numbers has an issue. User Agent is:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code:
在开始研究题目的时候发现,如果把代码中for循环里的i<4替换成i<num(或者任何变量)就会出现浏览器崩溃,测试浏览器是chrome版本 53.0.2785.143 m
Record Collection关卡bug
浏览器信息
问题描述
这两个返回的collection都与通过测试要求的(我只复制了第一条要求)不符合: update(5439, "artist", "ABBA") 之后, artist 应该为 "ABBA";
你的代码
function update(id, prop, value) { if (value !== '' && prop !== 'tracks'){ collectionCopy[id][prop] = value; } else if (value !== '' && prop === 'tracks') { collectionCopy[id][prop].push(value); } else if (value === '') { delete collectionCopy[id][prop]; }
return collection; }
截图(如果有)
h2字体没有按照预期从Lobster降级到Monosapce
Challenge Specify How Fonts Should Degrade has an issue. User Agent is:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code:
bug
Challenge Warn your Users of a Dangerous Action 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.133 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code:
导入Lobster字体。尝试使用link @font-face都不能正确通过挑战,请问是哪里问题
Challenge Import a Google Font has an issue. User Agent is:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code:
“Build a Personal Portfolio Webpage” 这个挑战的项目给的页面“https://codepen.io/freeCodeCamp/full/YqLyXB/”加载不出图片,因为该页面使用的图片链接为HTTP链接,所以图片会加载失败,我已经Fork了这个页面,并且将此页面所有HTTP链接图片替换为digitalocean的镜像存储的HTTPS图片
“Build a Personal Portfolio Webpage” 这个挑战的项目给的页面https://codepen.io/freeCodeCamp/full/YqLyXB/
加载不出图片,因为该页面使用的图片链接为HTTP链接,所以图片会加载失败,我已经Fork了这个页面,并且将此页面所有HTTP链接图片替换为digitalocean的镜像存储的HTTPS图片。 地址为: https://codepen.io/Madman7/full/yvgWEE
Challenge Build a Personal Portfolio Webpage has an issue. User Agent is:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.这段代码中三目运算语句哪里出错了?
原题地址:Testing Objects for Properties
任务27中,你的a元素应该嵌套在你新的p元素中。已经嵌套了却没过
Challenge Nest an Anchor Element within a Paragraph has an issue. User Agent is:
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code:
125 Target Even Numbered Elements Using jQuery
浏览器信息
问题描述
进入问题125 Target Even Numbered Elements Using jQuery 任务是 获取class为target且索引为偶数的所有元素,也就是target#1(索引为0),target#3(索引为2),target5(索引为4),并给它们添加class animated 和 shake。 提示是 所有 target 元素的偶数都应该 shake); 你应该使用 :even 功能来更改这些元素。 只使用 jQuery 来添加这些 class 到元素中。 我参照示例在原先代码的基础上增加了$(".target:even").addClass("animated shake"); 但是不能通过。猜测跟页面上会有3个target5按钮有关。
你的代码
$(".target:even").addClass("animated shake");
如果和代码相关,请在这里粘贴你的全部代码
jQuery Playground
#left-well
#right-well
截图(如果有)
点完提交之后是这个效果
Removed an extra blank line between sections
FreeCodeCamp Pull Request template
Please, go through these steps before you submit a PR.
2.1. You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the
fix/
orfeature/
prefixes. Good examples are:fix/signin-issue
orfeature/issue-templates
.2.2. You have a descriptive commit message with a short title (first line).
2.3. You have only one commit (if not, squash them into one commit).
2.4.
npm test
doesn't throw any error. If it does, fix them first and amend your commit (git commit --amend
).3.1. Your pull request MUST NOT target the
master
branch on FreeCodeCamp's repository. You probably want to targetstaging
instead.3.2. Give a descriptive title to your PR.
3.3. Provide a description of your changes.
3.4. Put
closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).IMPORTANT: Please review the CONTRIBUTING.md file for detailed contributing guidelines.
PLEASE REMOVE THIS TEMPLATE BEFORE SUBMITTING
Bump mongodb from 2.2.36 to 3.6.1
Bumps mongodb from 2.2.36 to 3.6.1.
Release notes
Sourced from mongodb's releases.
Commits
446877d
chore(release): 3.6.1b4286c3
chore: fixes MacOS OCSP testsc510fde
refactor(kerberos): move MongoAuthProcess into driver (#2535)0af3191
fix: update full list of index options06a2444
fix: add host/port to cmap connection4cc6bcc
feat(db): deprecate createCollection strict mode3cda5c4
chore(ci): add kerberos auth testsd3a1d54
chore(ci): add plain ldap auth test61a1d32
chore(ci): add tls support test to evergreenedf429c
chore: adds MongoDB 4.4 and latest tests for aws-authDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bump helmet-csp from 1.2.2 to 3.1.0
Bumps helmet-csp from 1.2.2 to 3.1.0.
Changelog
Sourced from helmet-csp's changelog.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Bump loopback-connector-mongodb from 1.13.0 to 5.3.0
Bumps loopback-connector-mongodb from 1.13.0 to 5.3.0.
Changelog
Sourced from loopback-connector-mongodb's changelog.
Commits
1092d4d
5.3.0b4ca728
5.2.4319d5f0
Merge pull request #584 from strongloop/fix/filterc839406
fix: sanitize extra dollar signs for operatorsb12633b
Merge pull request #582 from strongloop/array/objid78e7970
fix: fixf2cef0f
fix: allow arrays to be stored in type ObjecIdc025814
Merge pull request #578 from strongloop/fix-order822ffc7
fix: fix sections orderbe811ef
Merge pull request #580 from strongloop/ci-ignoreMaintainer changes
This version was pushed to npm by dhmlau, a new releaser for loopback-connector-mongodb since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
哪里有“我已经完成了这个挑战按钮”啊
注意:这里只处理 FreeCodeCamp.cn 的相关问题,不处理 w3cschool 的任何问题
注意:请不要乱开无意义的 Issue,违者直接加黑名单
注意:Issue 是用来处理代码库中的 bug,不是用来提问题的。完成挑战过程中遇到的代码问题请在gitter 讨论组 或者 QQ 群 526289580 中讨论 (QQ 群验证答案: freeCodeCamp 注意大小写)
FreeCodeCamp.cn Issue 模板
如何使用本模板:
以上内容请在提交 Issue 之前删除
浏览器信息
问题描述
你的代码
截图(如果有)
这样为什么会显示错误
Challenge Stand in Line has an issue. User Agent is:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
. Please describe how to reproduce this issue, and include links to screenshots if possible.My code: