freeCodeCamp/client/utils/challengeTypes.js
Randell Dawson fd6f8b5cd4 feat(learn): Update Basic HTML Cat Photo App project descriptions and hints and tests (v7) (#39131)
* feat: added Cat Photo App project

Added new steps

feat: add tests + targetted hints for demo

simplify wording and combine some tests

feat: update text and add tests/hints

fix: changed descriptions and tests

feat: added tests for part 11 - 15

fix: reworded description for steps 2 and 10

fix: changed isBeta to isHidden

fix: temporarily remove fcc-editable strings

fix: added project to challengeTypes.js

fix: added missing parentheses

fix: test text improvements

fix: changes to tests and text discussed in meeting

fix: adjust logic for detecting indentation in part 07

fix: missing regex characters and made last test more permissive for part 04

feat: add steps 25 to 55 and notes

fix: added h1 element back to steps 5-24

fix: h1 and h2 elements from steps 25 to 50

fix: added missing DOCTYPE declaration steps 20-24

fix: miscellaneous text edits

fix: break up part 28, change local paths for images to short s3 cdn URLs

fix: part 01 and 02 descriptions and tests

feat: pull in changes from #39145 and remove solution sections

fix: adjust descriptions and break up steps 33 and 35

fix: break up more steps and adjust text

feat: add tests for parts 25 - 30

* fix: ran reorder-steps.js

* fix: added editable region markers

* fix: standardize opening tag hint text

* fix: remove trailing periods from descriptions and hints and adjust tests

* fix: remove unnecessary instructions sections

* fix: added test to check for only one h1 element

* fix: removed comma

* fix: changed paragraph element to `p` element

* fix: added test for extra h1 element

* fix: test to validate only one img element exists

* fix: replaced code tags with backticks

* fix: reworded description

* fix: reworded step description

* fix: changed tests for first step

* fix: change last two alt values to sentences

* fix: check for spaces in text strings

* fix: removed extra dot before replace method

* fix: moved example before instruction

* fix: rearranged step 6 tests

* fix: capitalized p in paragraph

* fix: rewored step 7's description and a test text

* fix: corrected test for step 8

* fix: improved step 9 tests

* fix: moved example above instruction

* fix: corrected step 9 test wording

* fix: rearrange test order for step 10

* fix: moved example before instructions for step 11

* fix: improved step 12 descripton and tests

* fix: corrected tests for steps 9, 10, 11, 13, 14

* fix: added ERMs to steps 4-14

* fix: minor typos

* fix: reword steps so examples are above instructions

* fix: introduce inline and block elements and use divs instead of br

* fix: add or adjust tests for steps 15 - 27

* fix: moved ERM up one line

* fix: removed unnecessary quotes in tests' text

* fix: added dfn tags for step 45

* fix: removed adding # to href step

* fix: tests 15 - 16

* fix: reword descriptions so they're not as hand holdy

* fix: reorder/reword steps 58 - 60

* feat: simplify radio button steps

* fix: wording and add demo step

* fix: remove doctype and teach in last step

* fix: update part-demo

* fix: added some more step 15 hints

* fix: added step to introduce section elems

* fix: added section elements to project

* fix: update final code

* fix: update tests for 15a and 16

* fix: add section elements to parts 45 to 61

* fix: change p elements to h3, update tests and text

* fix: added new test for step 9

* fix: fixed/added tests for steps 15-30a

* fix: use fieldset elements instead of divs in the form

* fix: added new test to setp 30a

* fix: changed `main` to `section`

* fix: corrected/added tests for step 31

* feat: add tests 32 - 36

* fix: revert change to js rpg game

* fix: simplify tests 32 - 36

* fix: updated submit-cat-form url

fix: changed submit-cat-form url

* fix: added/rearranged tests steps 32-36

* fix: added tests for step 36a

* fix: used hasAttribute where applicable

* fix: misc edits for steps 10 and 35-36a

* fix: add tests to step 37

* fix: reworded step 37

* fix: added more verbiage to steps 35 and 36

* fix: modified step 38 desc and added tests

* fix: added hints/tests for step 40

* fix: added hints/tests for step 41

* fix: added hints/tests for steps 42 and 43

* fix: made attribute values match exactly

* fix: change wording from text input to text field

* fix: rearrange name attribute lessons

* feat: tests for 44 - 44b

* fix: added a step  35a

* fix: added name="catphotourl" to steps 36-61

* fix: reworded steps 41 and 43

* fix: removed intro to for attribute

* fix: rewrite of step 44b's desc and tests

* fix: added step 45 hints/tests

fix

* fix: removed for attribute from steps 45a-61

* fix: removed extra )

* fix: wrapped "section" with backticks

* fix: added test for steps 45a and 45b

* fix: adjust position of label steps 55-61

* fix: removed conole.log statements

* fix: added tests to step 45c

* fix: renamed step 49 to step 46a

* fix: moved label element for steps 48-53

* fix: reworded step 47 description and instructions

* fix: typos in description and test text

* feat: add tests 46-48

* fix: wording

* fix: remove case insensitivity from a couple of tests

* fix: wording and add erms

* fix: add additional test for step 48

* fix: added hints/tests for step 50

* fix: added hints/tests for step 51

* fix: added hints/tests to step 53

* fix: added hints/tests for step 55

* fix: added hints/tests for step 56

* feat: tests for 57-61

* fix: removed duplicate test in step 55

* fix: adjusted 1st test for step 57

* fix: simplified test for title text

* fix: improved tests for step 60-61

* fix: removed demo.md file

* fix: ran reorder-steps.js

* fix: part 10 description

* fix: part 14 description

* fix: part 24 - move ERMs

* fix: part 05 description

* fix: part 54 test text

* fix: part 06 - wording and add test for p and main closing tag order

* fix: part 50 - add test to check for order of fieldset elements

* feat: value attribute for radio buttons step and seed changes

* feat: value attribute for checkboxes step and seed changes

* fix: update part 14 description

* fix: revert ERMs for part 24

* fix: remove last test in part 06

* fix: text and typos for new radio and checkbox lessons

* fix: text and typos for new radio and checkbox lessons

* fix: add test to part 01

* fix: ran reorder-steps.js

Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-09-16 11:54:09 +05:30

142 lines
4.2 KiB
JavaScript

const html = 0;
const js = 1;
const backend = 2;
const zipline = 3;
const frontEndProject = 3;
const backEndProject = 4;
const bonfire = 5;
const modern = 6;
const step = 7;
const quiz = 8;
const invalid = 9;
const pythonProject = 10;
const video = 11;
// individual exports
exports.backend = backend;
exports.frontEndProject = frontEndProject;
exports.backEndProject = backEndProject;
exports.pythonProject = pythonProject;
exports.challengeTypes = {
html,
js,
backend,
zipline,
frontEndProject,
backEndProject,
pythonProject,
bonfire,
modern,
step,
quiz,
invalid,
video
};
// turn challengeType to file ext
exports.pathsMap = {
[html]: 'html',
[js]: 'js',
[bonfire]: 'js'
};
// determine the component to view for each challenge
exports.viewTypes = {
[html]: 'classic',
[js]: 'classic',
[bonfire]: 'classic',
[frontEndProject]: 'frontend',
[backEndProject]: 'backend',
[pythonProject]: 'frontend',
[modern]: 'modern',
[step]: 'step',
[quiz]: 'quiz',
[backend]: 'backend',
[video]: 'video'
};
// determine the type of submit function to use for the challenge on completion
exports.submitTypes = {
[html]: 'tests',
[js]: 'tests',
[bonfire]: 'tests',
// requires just a single url
// like codepen.com/my-project
[frontEndProject]: 'project.frontEnd',
// requires two urls
// a hosted URL where the app is running live
// project code url like GitHub
[backEndProject]: 'project.backEnd',
[pythonProject]: 'project.backEnd',
[step]: 'step',
[quiz]: 'quiz',
[backend]: 'backend',
[modern]: 'tests',
[video]: 'tests'
};
// determine which help forum questions should be posted to
exports.helpCategory = {
'basic-html-and-html5': 'HTML-CSS',
'basic-css': 'HTML-CSS',
'applied-visual-design': 'HTML-CSS',
'applied-accessibility': 'HTML-CSS',
'responsive-web-design-principles': 'HTML-CSS',
'css-flexbox': 'HTML-CSS',
'css-grid': 'HTML-CSS',
'responsive-web-design-projects': 'Certification Projects',
'basic-javascript': 'JavaScript',
es6: 'JavaScript',
'regular-expressions': 'JavaScript',
debugging: 'JavaScript',
'basic-data-structures': 'JavaScript',
'basic-algorithm-scripting': 'JavaScript',
'object-oriented-programming': 'JavaScript',
'functional-programming': 'JavaScript',
'intermediate-algorithm-scripting': 'JavaScript',
'javascript-algorithms-and-data-structures-projects':
'Certification Projects',
bootstrap: 'HTML-CSS',
jquery: 'JavaScript',
sass: 'HTML-CSS',
react: 'JavaScript',
redux: 'JavaScript',
'react-and-redux': 'JavaScript',
'front-end-libraries-projects': 'Certification Projects',
'data-visualization-with-d3': 'JavaScript',
'json-apis-and-ajax': 'JavaScript',
'data-visualization-projects': 'Certification Projects',
'managing-packages-with-npm': 'JavaScript',
'basic-node-and-express': 'JavaScript',
'mongodb-and-mongoose': 'JavaScript',
'apis-and-microservices-projects': 'Certification Projects',
'information-security-with-helmetjs': 'JavaScript',
'quality-assurance-and-testing-with-chai': 'JavaScript',
'advanced-node-and-express': 'JavaScript',
'quality-assurance-projects': 'Certification Projects',
'information-security-projects': 'Certification Projects',
algorithms: 'JavaScript',
'data-structures': 'JavaScript',
'take-home-projects': 'Certification Projects',
'rosetta-code': 'JavaScript',
'project-euler': 'JavaScript',
'scientific-computing-with-python': 'Python',
'scientific-computing-with-python-projects': 'Certification Projects',
'data-analysis-with-python': 'Python',
'data-analysis-with-python-projects': 'Certification Projects',
'machine-learning-with-python': 'Python',
'machine-learning-with-python-projects': 'Certification Projects',
'python-for-everybody': 'Python',
tensorflow: 'Python',
'how-neural-networks-work': 'Python',
numpy: 'Python',
'data-analysis-with-python-course': 'Python',
'python-for-penetration-testing': 'Python',
'basic-html-cat-photo-app': 'HTML-CSS',
'css-variables-skyline': 'HTML-CSS',
'basic-javascript-rpg-game': 'JavaScript',
'functional-programming-spreadsheet': 'JavaScript',
'intermediate-javascript-calorie-counter': 'JavaScript',
'd3-dashboard': 'JavaScript'
};