Commit Graph

49 Commits (ba789fa8ec776aefdedeeebd8f4763d23e186233)

Author SHA1 Message Date
Shaun Hamilton c2a11ad00d
feat: add 'back/front end' in curriculum (#42596)
* chore: rename APIs and Microservices to include "Backend" (#42515)

* fix typo

* fix typo

* undo change

* Corrected grammar mistake

Corrected a grammar mistake by removing a comma.

* change APIs and Microservices cert title

* update title

* Change APIs and Microservices certi title

* Update translations.json

* update title

* feat(curriculum): rename apis and microservices cert

* rename folder structure

* rename certificate

* rename learn Markdown

* apis-and-microservices -> back-end-development-and-apis

* update backend meta

* update i18n langs and cypress test

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* fix: add development to front-end libraries (#42512)

* fix: added-the-word-Development-to-front-end-libraries

* fix/added-the-word-Development-to-front-end-libraries

* fix/added-word-development-to-front-end-libraries-in-other-related-files

* fix/added-the-word-Development-to-front-end-and-all-related-files

* fix/removed-typos-from-last-commit-in-index.md

* fix/reverted-changes-that-i-made-to-dependecies

* fix/removed xvfg

* fix/reverted changes that i made to package.json

* remove unwanted changes

* front-end-development-libraries changes

* rename backend certSlug and README

* update i18n folder names and keys

* test: add legacy path redirect tests

This uses serve.json from the client-config repo, since we currently use
that in production

* fix: create public dir before moving serve.json

* fix: add missing script

* refactor: collect redirect tests

* test: convert to cy.location for stricter tests

* rename certificate folder to 00-certificates

* change crowdin config to recognise new certificates location

* allow translations to be used

Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>

* add forwards slashes to path redirects

* fix cypress path tests again

* plese cypress

* fix: test different challenge

Okay so I literally have no idea why this one particular challenge
fails in Cypress Firefox ONLY. Tom and I paired and spun a full build
instance and confirmed in Firefox the page loads and redirects as
expected. Changing to another bootstrap challenge passes Cypress firefox
locally. Absolutely boggled by this.

AAAAAAAAAAAAAAA

* fix: separate the test

Okay apparently the test does not work unless we separate it into
a different `it` statement.

>:( >:( >:( >:(

Co-authored-by: Sujal Gupta <55016909+heysujal@users.noreply.github.com>
Co-authored-by: Noor Fakhry <65724923+NoorFakhry@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
2021-08-13 21:57:13 -05:00
Shaun Hamilton 59f17f237b
refactor: files{} -> challengeFiles[], and key -> fileKey (#43023)
* fix(client): fix client

* fix propType and add comment

* revert user.json prettification

* slight type refactor and payload correction

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* update ChallengeFile type imports

* add cypress test for code-storage

* update test and storage epic

* fix Shaun's tired brain's logic

* refactor with suggestions

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* update codeReset

* increate cypress timeout because firefox is slow

* remove unused import to make linter happy

* use focus on editor

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* use more specific seletor for cypress editor test

* account for silly null challengeFiles

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-08-12 20:48:28 +02:00
Oliver Eyton-Williams e118dda13a
fix: order imports and remove circular dependencies (#41824)
* fix: remove circular dependency

redux depended on templates/Challenges/redux and vice versa.  This
meant that import order mattered and confusing bugs could arise.

(cherry picked from commit 7d67a4e70922bbb3051f2f9982dcc69e240d43dc)

* feat: require imports to be in alphabetical order

Import order generally does not matter, but there are edge cases
(circular  imports and css imports, for example) where changing order
changes behaviour

(cherry picked from commit b8d1393a91ec6e068caf8e8498a5c95df68c2b2c)

* chore: order imports

* fix: lift up challenge description + title comps

This brings the classic Show closer to the others as they
now all create the description and title components

* fix: remove donation-saga/index circular import

(cherry picked from commit 51a44ca668a700786d2744feffeae4fdba5fd207)

* refactor: extract action-types from settings

(cherry picked from commit 25e26124d691c84a0d0827d41dafb761c686fadd)

* fix: lint errors

* feat: prevent useless renames
2021-08-02 08:39:40 -05:00
Huyen Nguyen 2c16234853
chore: add jest global variables (#42573) 2021-06-20 09:14:42 +02:00
Mrugesh Mohapatra a378bc6dd4
chore: rework the language audits for build (#42510)
This also reverts commit cd5c28b332.
2021-06-15 23:07:52 +05:30
Nicholas Carrigan (he/him) cd5c28b332
revert: disable portuguese (#42508)
* revert: disable portuguese

First certification is not 100% yet. Shipped too soon. :(

* feat: enable portuguese curriculum

Curriculum can build in portuguese, leaving client disabled to
prevent language from appearing in nav bar.

* feat: move audited cert list

Moves the audited cert list to the config, instead of the utils.
2021-06-15 21:32:29 +05:30
Nicholas Carrigan (he/him) f25e3e69f8
feat: enable new langs (#42491)
Enable italian and portuguese
2021-06-15 13:19:18 +05:30
Oliver Eyton-Williams bd4d46915a
feat(curriculum): add project creation tool (#42410)
* refactor: extract help category map as JSON

* refactor: extract block names as json

* feat: add create-project script

* fix: correct case for tsconfig target

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-06-09 00:57:45 +05:30
Oliver Eyton-Williams 440169a7cb
feat: conditionally include files (#42205)
Co-authored-by: Shaun Hamilton <51722130+ShaunSHamilton@users.noreply.github.com>
2021-06-05 11:15:13 -07:00
Oliver Eyton-Williams 128cb813cb
fix: remove unused polyvinyl functions (#42295) 2021-05-31 21:16:26 +05:30
Lance 9c86168b2f
fix: valid username lowercase (#42172)
* fix: valid username lowercase

* test: add test in the validate for reject uppercase characters

* test: add test in the cypress for check on uppercase characters and reject it.
2021-05-20 09:04:00 +02:00
Nicholas Carrigan e46e80e08f feat(client): add chinese traditional
Add chinese traditional to the all-langs validation and necessary
client build configs.
2021-05-05 21:06:54 +05:30
Nicholas Carrigan (he/him) 74f2f34688
feat(i18n,client): enable certs (#41789)
Enable the next two certs in Chinese.
2021-04-10 18:11:40 +02:00
Oliver Eyton-Williams 15af7fdea9
feat(i18n): enable more localised certs (#41721) 2021-04-01 09:44:35 -07:00
Mrugesh Mohapatra 5c7e4f4dd1
revert(curriculum): add 3 more certs to Chinese curriculum (#41513)
This reverts commit 217bc10160.
2021-03-17 08:24:25 -05:00
Randell Dawson 217bc10160
fix: add 3 more certs to chinese curriculum (#41508) 2021-03-16 21:12:40 +05:30
Mrugesh Mohapatra 6c91f81b0e chore(deps): upgrade eslint, prettier & related packages 2021-03-11 12:19:42 +05:30
Oliver Eyton-Williams 6c1f6bebed
feat: label un-audited challenges (#41002)
Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Mrugesh Mohapatra <me@raisedadead.com>
Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2021-02-11 18:10:32 +05:30
Nicholas Carrigan (he/him) bc7bb9adb8
feat: enable i18n (#40937)
Enables the selection of `espanol` for the curriculum build, and sets
`responsive-web-design` as audited for both languages.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>
2021-02-06 14:56:11 +05:30
Oliver Eyton-Williams 81e55605a2
feat: allow challenges to be hidden by language (#40833) 2021-01-31 19:23:27 +05:30
Tom 3978c6be28 feat: i18n user interface (#40306)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-01-31 12:15:32 +05:30
Randell Dawson 06da30e48a feat(learn): Basic CSS Cafe Menu instructions and hints/tests (v7) (#39407)
* feat: created step instructions for cafe menu

fix: added instructions to steps 1-31

fix: changed steps 29-31

fix: added instructions for steps 32-42

fix: changed prototype class definition

fix: padded file names

fix: added instructions for steps 43-61

fix: add object id to final.md and final prototype to meta.json

fix: correct typos in steps 26 and 27

fix: misc wording changes

fix: added forward slash to closing html tag

fix: added instructions for steps 62-75

feat: added instructions to steps 76-79

fix: added FOOTER comment for steps 68-75

fix: add steps 68a and 68b

fix: add steps 69a and reorder steps

fix: added instructions to the final steps

* fix: remove final.md

* fix: fixed typo of menue to menu

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: changed wording to improve readability

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: changed wording to improve readability

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: changed wording to improve readability

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* fix: combined two lines into same paragraph

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2020-09-16 11:54:13 +05:30
Oliver Eyton-Williams 9df098953d Feat: editable dom element (#39341)
* feat: __testEditable allows editable region tests

It's not entirely isolated, but it makes it possible to select only the
element with id 'editable-only' which is built solely from code inside
the editable region.

* fix(client): missing editableContents -> ''

Previously it was added as the string 'undefined'

* fix: more informative error messages

* fix: DRY, correct and test getLines
2020-09-16 11:54:11 +05:30
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
Oliver Eyton-Williams 52cb6adf02 refactor: sortFiles -> toSortedArray 2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams 88de5bc602 refactor: sort-files -> common utils 2020-09-16 11:54:05 +05:30
Kris Koishigawa 4f1be63055 feat(learn): sync master and next-curriculum branches 2020-09-16 11:54:01 +05:30
Tom 977701937b Feat: add d3 dashboard project to next curriculum (#38028)
* feat: add d3 dashboard project to next curriculum
2020-09-16 11:54:01 +05:30
lmilliken 39b0afd5f0 feat: tests for calorie counter 2020-09-16 11:54:00 +05:30
Kristofer Koishigawa d3d5147c1f fix: renamed files and titles in the frontmatter for consitency (#37792) 2020-09-16 11:53:59 +05:30
SomeDer 2fbafda167 feat: functional programming spreadsheet (#36873)
* Add meta.json for spreadsheet

* Add spreadsheet files

* Close code tags for tests in 2 files

* Add solution section

* Add index file

* Add javascript-spreadsheet to stringifier

* Move index to step

* Rename steps in meta.json

* Rename step numbers in files

* Add index file to proper location

* Remove inappropriate files from spreadsheet dir

* Fix typo in first step

* Fix test sections

* Rename files to correct step

* Fix broken tests

* Add newline between sections

* Change challengeType from 1 to 0

* Add missng ) in step-079.md

* test -> tests in step-079

* Simplify test in step-103

* Fix step-137 test

* Remove last step

* Added solutions and adjusted some tests

* Fix some challenges

* Remove wrong spaces

* Fix more tests

* Add missing semicolon

* Fix more tests

* Fix type: lastttwo

* Fix all remaining tests
2020-09-16 11:53:59 +05:30
Tom 89e18e3a81 feat: add challenges for skyline project (#36854) 2020-09-16 11:53:59 +05:30
Kristofer Koishigawa 529f2596d9 feat: JS RPG game tests (#37678)
* feat: Add JavaScript RPG Game for testing
2020-09-16 11:53:58 +05:30
Mrugesh Mohapatra c23c4ef8e4
fix: negative sentiment → neutral language (#39522)
The existing terminology carries negative sentiment that can be
interpreted in a racial or sense. Updating the name to have no
potential for such a connection.

Co-authored-by: Justin Rogers <justrog@gmail.com>
2020-09-07 11:04:44 +05:30
Oliver Eyton-Williams b197f73881 feat: restrict translation to audited certs 2020-08-16 04:45:19 +05:30
Oliver Eyton-Williams 52ecb14b0f
fix: replace . with - in slugs (#39168) 2020-07-03 20:28:53 +05:30
Huyen Nguyen ab75df7cb1
fix(learn): capitalization and grammar errors (#39151) 2020-07-02 17:20:43 +05:30
Kristofer Koishigawa 6e5988da4e
fix(learn): versioning for new certificate slugs (#39087) 2020-06-17 20:30:31 +05:30
Kristofer Koishigawa 77df0e32cd
feat(learn): rename certificates, cert slugs, and cert flags (#39026) 2020-06-15 21:51:30 +05:30
Oliver Eyton-Williams b4926052f4
chore: refactor and simplify testing (#39050) 2020-06-13 14:57:15 +05:30
Beau Carnes 256ed00fb9 feat(learn): split InforSec and QA into individual certs (#38347)
Co-authored-by: Mrugesh Mohapatra <me@raisedadead.com>
Co-authored-by: Kris Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-05-27 13:19:12 +05:30
Beau Carnes e776529ed0 feat(learn): add python video challenges (#38424) 2020-05-27 13:19:09 +05:30
mrugesh 22afc2a0ca feat(learn): python certification projects (#38216)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Beau Carnes <beaucarnes@gmail.com>
2020-05-27 13:19:08 +05:30
Oliver Eyton-Williams 1a56f4d5f4 fix(client): show certs on timeline (#37947)
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2020-01-03 11:32:31 +05:30
mrugesh 9886cf7ca2
fix(client,server): usernames should not be a http error code (#37804)
* fix(client,server): usernames should not be a http error code
* feat: reject invalid chars first

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2019-11-27 10:49:17 +05:30
Oliver Eyton-Williams 7500c370b6 refactor: create common validation function 2019-11-14 22:16:24 +05:30
Oliver Eyton-Williams f159645810 fix: make dasherize trim first 2019-09-26 22:15:27 +05:30
Oliver Eyton-Williams 3dc4e5897d fix: add tests and refactor slug utils 2019-09-26 22:15:27 +05:30
Oliver Eyton-Williams 9c2f1ffd82 refactor: combine slug utils into one module 2019-09-26 22:15:27 +05:30