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>
This commit is contained in:
committed by
Mrugesh Mohapatra
parent
c75d212831
commit
256ed00fb9
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"name": "Information Security and Quality Assurance Projects",
|
||||
"dashedName": "information-security-and-quality-assurance-projects",
|
||||
"order": 0,
|
||||
"time": "150 hours",
|
||||
"template": "",
|
||||
"required": [],
|
||||
"superBlock": "information-security-and-quality-assurance",
|
||||
"superOrder": 13,
|
||||
"challengeOrder": [
|
||||
[
|
||||
"587d8249367417b2b2512c41",
|
||||
"Metric-Imperial Converter"
|
||||
],
|
||||
[
|
||||
"587d8249367417b2b2512c42",
|
||||
"Issue Tracker"
|
||||
],
|
||||
[
|
||||
"587d824a367417b2b2512c43",
|
||||
"Personal Library"
|
||||
],
|
||||
[
|
||||
"587d824a367417b2b2512c44",
|
||||
"Stock Price Checker"
|
||||
],
|
||||
[
|
||||
"587d824a367417b2b2512c45",
|
||||
"Anonymous Message Board"
|
||||
]
|
||||
],
|
||||
"helpRoom": "HelpBackend",
|
||||
"fileName": "12-information-security-and-quality-assurance/quality-assurance-and-information-security-projects.json"
|
||||
}
|
@@ -18,7 +18,7 @@
|
||||
],
|
||||
[
|
||||
"5e601c775ac9d0ecd8b94aff",
|
||||
"Real Time Multiplayer Game"
|
||||
"Secure Real Time Multiplayer Game"
|
||||
],
|
||||
[
|
||||
"5e46f979ac417301a38fb932",
|
||||
|
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"name": "Information, Securtiy and Quality Assurance Certificate",
|
||||
"dashedName": "information-securtiy-and-quality-assurance-certificate",
|
||||
"order": 6,
|
||||
"time": "",
|
||||
"template": "",
|
||||
"required": [],
|
||||
"superBlock": "certificates",
|
||||
"superOrder": 12,
|
||||
"challengeOrder": [
|
||||
[
|
||||
"561add10cb82ac38a17213bc",
|
||||
"Information, Securtiy and Quality Assurance Certificate"
|
||||
]
|
||||
],
|
||||
"isPrivate": true,
|
||||
"fileName": "12-certificates/information-security-and-quality-assurance-certificate.json"
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "Legacy Information Security and Quality Assurance Certificate",
|
||||
"dashedName": "legacy-information-security-and-quality-assurance-certificate",
|
||||
"order": 1,
|
||||
"time": "",
|
||||
"template": "",
|
||||
"required": [],
|
||||
"superBlock": "certificates",
|
||||
"superOrder": 12,
|
||||
"challengeOrder": [
|
||||
[
|
||||
"561add10cb82ac38a17213bc",
|
||||
"Legacy Information Security and Quality Assurance Certificate"
|
||||
]
|
||||
],
|
||||
"isPrivate": true,
|
||||
"fileName": "12-certificates/legacy-information-security-and-quality-assurance-certificate.json"
|
||||
}
|
@@ -3,13 +3,15 @@ id: 5e601c0d5ac9d0ecd8b94afe
|
||||
title: American British Translator
|
||||
challengeType: 4
|
||||
isRequired: true
|
||||
forumTopicId: 301571
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id='description'>
|
||||
COMING SOON
|
||||
Build a full stack JavaScript app that is functionally similar to this: <a href='add-glitch-link' target='_blank'>add-glitch-link</a>.
|
||||
|
||||
Working on this project will involve you writing your code on Glitch on our starter project. After completing this project you can copy your public glitch url (to the homepage of your app) into this screen to test it! Optionally you may choose to write your project on another platform but it must be publicly visible for our testing.
|
||||
|
||||
Start this project on Glitch using <a href='https://glitch.com/edit/#!/remix/clone-from-repo?REPO_URL=add-repo-url'>this link</a> or clone <a href='add-repo-url'>this repository</a> on GitHub! If you use Glitch, remember to save the link to your project somewhere safe!
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
@@ -22,8 +24,23 @@ COMING SOON
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: test
|
||||
testString: 'test'
|
||||
- text: I can enter a simple sentence into the text area and select whether to translate to British or American English from the dropdown menu.
|
||||
testString: ''
|
||||
- text: When the "Translate" button is pressed, append the translated sentence to the <code>translated-sentence</code> <code>div</code>. See the JavaScript files in <code>/public</code> for the different spelling and terms your application should translate.
|
||||
testString: ''
|
||||
- text: Wrap any translated spelling or terms with <code><span class="highlight">...</span></code> tags so they appear in green.
|
||||
testString: ''
|
||||
- text: If the sentence in the text area has no spelling or terms that should be translated, append the message "Everything looks good to me!" to the <code>translated-sentence</code> <code>div</code>.
|
||||
testString: ''
|
||||
- text: |
|
||||
If there is no text in the text area, append the message "Error: No text to translate." to the <code>error-msg</code> <code>div</code> so the text appears in red.
|
||||
testString: ''
|
||||
- text: I can press the "Clear Input" button to remove all text from the text area and the <code>translated-sentence</code> <code>div</code>.
|
||||
testString: ''
|
||||
- text: All 12 unit tests are complete and passing.
|
||||
testString: ''
|
||||
- text: All 4 functional tests are complete and passing.
|
||||
testString: ''
|
||||
```
|
||||
|
||||
</section>
|
||||
|
@@ -3,12 +3,15 @@ id: 5e601bf95ac9d0ecd8b94afd
|
||||
title: Sudoku Solver
|
||||
challengeType: 4
|
||||
isRequired: true
|
||||
forumTopicId: 301571
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id='description'>
|
||||
COMING SOON
|
||||
Build a full stack JavaScript app that is functionally similar to this: <a href='add-glitch-link' target='_blank'>add-glitch-link</a>.
|
||||
|
||||
Working on this project will involve you writing your code on Glitch on our starter project. After completing this project you can copy your public glitch url (to the homepage of your app) into this screen to test it! Optionally you may choose to write your project on another platform but it must be publicly visible for our testing.
|
||||
|
||||
Start this project on Glitch using <a href='https://glitch.com/edit/#!/remix/clone-from-repo?REPO_URL=add-repo-url'>this link</a> or clone <a href='add-repo-url'>this repository</a> on GitHub! If you use Glitch, remember to save the link to your project somewhere safe!
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
@@ -21,8 +24,18 @@ COMING SOON
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: test
|
||||
testString: 'test'
|
||||
- text: I can enter a sudoku puzzle by filling in the text area with either a number or period (".") to represent an empty cell. When a valid number is entered in the text area, the same number is applied to the correct cell of the sudoku grid.
|
||||
testString: ''
|
||||
- text: I can enter a sudoku puzzle by adding numbers directly to the sudoku grid. When a valid number is entered in the sudoku grid, the same number appears in the correct position in the text area.
|
||||
testString: ''
|
||||
- text: I can solve an incomplete puzzle by clicking the "Solve" button. When a solution is found, the sudoku grid is automatically populated with the correct numbers for each cell.
|
||||
testString: ''
|
||||
- text: I can clear the text area and sudoku grid by clicking the "Clear" button.
|
||||
testString: ''
|
||||
- text: All 6 unit tests are complete and passing.
|
||||
testString: ''
|
||||
- text: All 4 functional tests are complete and passing.
|
||||
testString: ''
|
||||
|
||||
```
|
||||
|
||||
|
@@ -1,47 +0,0 @@
|
||||
---
|
||||
id: 5e601c775ac9d0ecd8b94aff
|
||||
title: Real Time Multiplayer Game
|
||||
challengeType: 4
|
||||
isRequired: true
|
||||
forumTopicId: 301572
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id='description'>
|
||||
COMING SOON
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
<section id='tests'>
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: test
|
||||
testString: 'test'
|
||||
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
## Challenge Seed
|
||||
<section id='challengeSeed'>
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
/**
|
||||
Backend challenges don't need solutions,
|
||||
because they would need to be tested against a full working project.
|
||||
Please check our contributing guidelines to learn more.
|
||||
*/
|
||||
```
|
||||
|
||||
</section>
|
@@ -0,0 +1,86 @@
|
||||
---
|
||||
id: 5e601c775ac9d0ecd8b94aff
|
||||
title: Secure Real Time Multiplayer Game
|
||||
challengeType: 4
|
||||
isRequired: true
|
||||
---
|
||||
|
||||
## Description
|
||||
<section id='description'>
|
||||
Develop a 2D real time multiplayer game using the HTML Canvas API and <a href='https://socket.io/' target='_blank'>Socket.io</a> that is functionally similar to this: <a href='add-glitch-url' target='_blank'>add-glitch-url</a>.
|
||||
|
||||
Working on this project will involve you writing your code on Glitch on our starter project. After completing this project you can copy your public glitch url (to the homepage of your app) into this screen to test it! Optionally you may choose to write your project on another platform but it must be publicly visible for our testing.
|
||||
|
||||
Start this project on Glitch using <a href='https://glitch.com/edit/#!/remix/clone-from-repo?REPO_URL=add-repo-url'>this link</a> or clone <a href='add-repo-url'>this repository</a> on GitHub! If you use Glitch, remember to save the link to your project somewhere safe!
|
||||
</section>
|
||||
|
||||
## Instructions
|
||||
<section id='instructions'>
|
||||
|
||||
</section>
|
||||
|
||||
## Tests
|
||||
<section id='tests'>
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- text: Multiple players can connect to a server and play.
|
||||
testString: ''
|
||||
- text: Each player has an avatar.
|
||||
testString: ''
|
||||
- text: Each player is represented by an object created by the <code>Player</code> class in <code>Player.mjs</code>.
|
||||
testString: ''
|
||||
- text: At a minimum, each player object should contain a unique <code>id</code>, a <code>score</code>, and <code>x</code> and <code>y</code> coordinates representing the player's current position.
|
||||
testString: ''
|
||||
- text: The game has at least one type of collectible item. Complete the <code>Collectible</code> class in <code>Collectible.mjs</code> to implement this.
|
||||
testString: ''
|
||||
- text: At a minimum, each collectible item object created by the <code>Collectible</code> class should contain a unique <code>id</code>, a <code>value</code>, and <code>x</code> and <code>y</code> coordinates representing the item's current position.
|
||||
testString: ''
|
||||
- text: Players can use the WASD and/or arrow keys to move their avatar. Complete the <code>movePlayer</code> method in <code>Player.mjs</code> to implement this.
|
||||
testString: ''
|
||||
- text: |
|
||||
The <code>movePlayer</code> method should accept two arguments: a string of "up", "down", "left", or "right", and a number for the amount of pixels the player's position should change. <code>movePlayer</code> should adjust the <code>x</code> and <code>y</code> coordinates of the player object it's called from.
|
||||
testString: ''
|
||||
- text: The player's score should be used to calculate their rank among the other players. Complete the <code>calculateRank</code> method in the <code>Player</code> class.
|
||||
testString: ''
|
||||
- text: |
|
||||
The <code>calculateRank</code> method should accept an array of objects representing all connected players and return the string <code>Rank: currentRanking/totalPlayers</code>.
|
||||
testString: ''
|
||||
- text: Players can collide with a collectible item. Complete the <code>collision</code> method in <code>Player.mjs</code> to implement this.
|
||||
testString: ''
|
||||
- text: The <code>collision</code> method should accept a collectible item's object as an argument. If the player's avatar intersects with the item, the <code>collision</code> method should return <code>true</code>.
|
||||
testString: ''
|
||||
- text: All players are kept in sync.
|
||||
testString: ''
|
||||
- text: Players can disconnect from the game at any time.
|
||||
testString: ''
|
||||
- text: Prevent the client from trying to guess / sniff the MIME type.
|
||||
testString: ''
|
||||
- text: Prevent cross-site scripting (XSS) attacks.
|
||||
testString: ''
|
||||
- text: Nothing from the website is cached in the client.
|
||||
testString: ''
|
||||
- text: The headers say that the site is powered by 'PHP 7.4.3' even though it isn't (as a security measure).
|
||||
testString: ''
|
||||
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
## Challenge Seed
|
||||
<section id='challengeSeed'>
|
||||
|
||||
</section>
|
||||
|
||||
## Solution
|
||||
<section id='solution'>
|
||||
|
||||
```js
|
||||
/**
|
||||
Backend challenges don't need solutions,
|
||||
because they would need to be tested against a full working project.
|
||||
Please check our contributing guidelines to learn more.
|
||||
*/
|
||||
```
|
||||
|
||||
</section>
|
@@ -27,7 +27,7 @@ tests:
|
||||
- id: 5e46f979ac417301a38fb932
|
||||
title: Port Scanner
|
||||
- id: 5e601c775ac9d0ecd8b94aff
|
||||
title: Real Time Multiplayer Game
|
||||
title: Secure Real Time Multiplayer Game
|
||||
- id: 5e46f983ac417301a38fb933
|
||||
title: SHA-1 Password Cracker
|
||||
```
|
||||
|
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: 561add10cb82ac38a17213bc
|
||||
title: 'Information Security and Quality Assurance Certificate'
|
||||
title: Legacy Information Security and Quality Assurance Certificate
|
||||
challengeType: 7
|
||||
isHidden: false
|
||||
isPrivate: true
|
||||
@@ -21,16 +21,17 @@ isPrivate: true
|
||||
|
||||
```yml
|
||||
tests:
|
||||
- id: 587d8249367417b2b2512c42
|
||||
title: Issue Tracker
|
||||
- id: 587d8249367417b2b2512c41
|
||||
title: Metric-Imperial Converter
|
||||
- id: 587d8249367417b2b2512c42
|
||||
title: Issue Tracker
|
||||
- id: 587d824a367417b2b2512c43
|
||||
title: Personal Library
|
||||
- id: 587d824a367417b2b2512c44
|
||||
title: Stock Price Checker
|
||||
- id: 587d824a367417b2b2512c45
|
||||
title: Anonymous Message Board
|
||||
|
||||
```
|
||||
|
||||
</section>
|
Reference in New Issue
Block a user