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>
This commit is contained in:
11
.github/workflows/cypress.yml
vendored
11
.github/workflows/cypress.yml
vendored
@ -36,6 +36,12 @@ jobs:
|
||||
- name: Checkout Source Files
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Checkout client config
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: freeCodeCamp/client-config
|
||||
path: client-config
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
@ -51,6 +57,11 @@ jobs:
|
||||
npm run ensure-env
|
||||
npm run build:curriculum
|
||||
|
||||
- name: Move serve.json to client
|
||||
run: |
|
||||
mkdir -p client/public
|
||||
cp client-config/serve.json client/public/serve.json
|
||||
|
||||
- name: Seed Database
|
||||
run: npm run seed
|
||||
|
||||
|
28
README.md
28
README.md
@ -64,17 +64,17 @@ Here are our ten core certifications:
|
||||
<br />
|
||||
**Projects**: [Palindrome Checker](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker),[ Roman Numeral Converter](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter), [Caesar's Cipher](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher), [Telephone Number Validator](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator), [Cash Register](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register)
|
||||
|
||||
#### 3. [Front End Libraries Certification](https://www.freecodecamp.org/learn/front-end-libraries/)
|
||||
#### 3. [Front End Libraries Certification](https://www.freecodecamp.org/learn/front-end-development-libraries/)
|
||||
|
||||
- [Bootstrap](https://www.freecodecamp.org/learn/front-end-libraries/#bootstrap)
|
||||
- [jQuery](https://www.freecodecamp.org/learn/front-end-libraries/#jquery)
|
||||
- [Sass](https://www.freecodecamp.org/learn/front-end-libraries/#sass)
|
||||
- [React](https://www.freecodecamp.org/learn/front-end-libraries/#react)
|
||||
- [Redux](https://www.freecodecamp.org/learn/front-end-libraries/#redux)
|
||||
- [React and Redux](https://www.freecodecamp.org/learn/front-end-libraries/#react-and-redux)
|
||||
- [Bootstrap](https://www.freecodecamp.org/learn/front-end-development-libraries/#bootstrap)
|
||||
- [jQuery](https://www.freecodecamp.org/learn/front-end-development-libraries/#jquery)
|
||||
- [Sass](https://www.freecodecamp.org/learn/front-end-development-libraries/#sass)
|
||||
- [React](https://www.freecodecamp.org/learn/front-end-development-libraries/#react)
|
||||
- [Redux](https://www.freecodecamp.org/learn/front-end-development-libraries/#redux)
|
||||
- [React and Redux](https://www.freecodecamp.org/learn/front-end-development-libraries/#react-and-redux)
|
||||
<br />
|
||||
<br />
|
||||
**Projects**: [Random Quote Machine](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-random-quote-machine), [Markdown Previewer](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-markdown-previewer), [Drum Machine](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-drum-machine), [JavaScript Calculator](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-javascript-calculator), [25 + 5 Clock](https://www.freecodecamp.org/learn/front-end-libraries/front-end-libraries-projects/build-a-25--5-clock)
|
||||
**Projects**: [Random Quote Machine](https://www.freecodecamp.org/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-random-quote-machine), [Markdown Previewer](https://www.freecodecamp.org/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer), [Drum Machine](https://www.freecodecamp.org/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine), [JavaScript Calculator](https://www.freecodecamp.org/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator), [25 + 5 Clock](https://www.freecodecamp.org/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-25--5-clock)
|
||||
|
||||
#### 4. [Data Visualization Certification](https://www.freecodecamp.org/learn/data-visualization/)
|
||||
|
||||
@ -84,14 +84,14 @@ Here are our ten core certifications:
|
||||
<br />
|
||||
**Projects**: [Bar Chart](https://www.freecodecamp.org/learn/data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart), [Scatterplot Graph](https://www.freecodecamp.org/learn/data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph), [Heat Map](https://www.freecodecamp.org/learn/data-visualization/data-visualization-projects/visualize-data-with-a-heat-map), [Choropleth Map](https://www.freecodecamp.org/learn/data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map), [Treemap Diagram](https://www.freecodecamp.org/learn/data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram)
|
||||
|
||||
#### 5. [APIs and Microservices Certification](https://www.freecodecamp.org/learn/apis-and-microservices/)
|
||||
#### 5. [APIs and Microservices Certification](https://www.freecodecamp.org/learn/back-end-development-and-apis/)
|
||||
|
||||
- [Managing Packages with Npm](https://www.freecodecamp.org/learn/apis-and-microservices/#managing-packages-with-npm)
|
||||
- [Basic Node and Express](https://www.freecodecamp.org/learn/apis-and-microservices/#basic-node-and-express)
|
||||
- [MongoDB and Mongoose](https://www.freecodecamp.org/learn/apis-and-microservices/#mongodb-and-mongoose)
|
||||
- [Managing Packages with Npm](https://www.freecodecamp.org/learn/back-end-development-and-apis/#managing-packages-with-npm)
|
||||
- [Basic Node and Express](https://www.freecodecamp.org/learn/back-end-development-and-apis/#basic-node-and-express)
|
||||
- [MongoDB and Mongoose](https://www.freecodecamp.org/learn/back-end-development-and-apis/#mongodb-and-mongoose)
|
||||
<br />
|
||||
<br />
|
||||
**Projects**: [Timestamp Microservice](https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/timestamp-microservice), [Request Header Parser](https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/request-header-parser-microservice), [URL Shortener](https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/url-shortener-microservice), [Exercise Tracker](https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/exercise-tracker), [File Metadata Microservice](https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/file-metadata-microservice)
|
||||
**Projects**: [Timestamp Microservice](https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice), [Request Header Parser](https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice), [URL Shortener](https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice), [Exercise Tracker](https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker), [File Metadata Microservice](https://www.freecodecamp.org/learn/back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice)
|
||||
|
||||
#### 6. [Quality Assurance Certification](https://www.freecodecamp.org/learn/quality-assurance/)
|
||||
|
||||
@ -134,7 +134,7 @@ Here are our ten core certifications:
|
||||
|
||||
#### Legacy Full Stack Development Certification
|
||||
|
||||
Once you have earned the Responsive Web Design, Algorithms and Data Structures, Front End Libraries, Data Visualization, APIs and Microservices, and Legacy Information Security and Quality Assurance certifications, you'll be able to claim your freeCodeCamp.org Full Stack Development Certification. This distinction signifies that you've completed around 1,800 hours of coding with a wide range of web development tools.
|
||||
Once you have earned the Responsive Web Design, Algorithms and Data Structures, Front End Development Libraries, Data Visualization, Back End Development and APIs, and Legacy Information Security and Quality Assurance certifications, you'll be able to claim your freeCodeCamp.org Full Stack Development Certification. This distinction signifies that you've completed around 1,800 hours of coding with a wide range of web development tools.
|
||||
|
||||
#### Legacy Certifications
|
||||
|
||||
|
@ -28,7 +28,7 @@ const {
|
||||
legacyInfosecQaId,
|
||||
legacyFullStackId,
|
||||
respWebDesignId,
|
||||
frontEndLibsId,
|
||||
frontEndDevLibsId,
|
||||
jsAlgoDataStructId,
|
||||
dataVis2018Id,
|
||||
apisMicroservicesId,
|
||||
@ -92,7 +92,7 @@ function createCertTypeIds(allChallenges) {
|
||||
|
||||
// modern
|
||||
[certTypes.respWebDesign]: getCertById(respWebDesignId, allChallenges),
|
||||
[certTypes.frontEndLibs]: getCertById(frontEndLibsId, allChallenges),
|
||||
[certTypes.frontEndDevLibs]: getCertById(frontEndDevLibsId, allChallenges),
|
||||
[certTypes.dataVis2018]: getCertById(dataVis2018Id, allChallenges),
|
||||
[certTypes.jsAlgoDataStruct]: getCertById(
|
||||
jsAlgoDataStructId,
|
||||
|
@ -1,10 +1,9 @@
|
||||
Camper <%= username %> has completed all six certifications!
|
||||
|
||||
Completed Responsive Web Design Certification on <%= responsiveWebDesignDate %>.
|
||||
Completed Front End Libraries Certification on <%= frontEndLibrariesDate %>.
|
||||
Completed JavaScript Algorithms and Data Structures Certification on <%= javascriptAlgorithmsDataStructuresDate %>.
|
||||
Completed Data Visualization Certification on <%= dataVisualizationDate %>.
|
||||
Completed API's and microservices Certification on <%= apisMicroservicesDate %>.
|
||||
Completed Information Security and Quality Assurance Certification on <%= infosecQADate %>.
|
||||
|
||||
Camper <%= username %> has completed all six certifications! Completed
|
||||
Responsive Web Design Certification on <%= responsiveWebDesignDate %>. Completed
|
||||
Front End Development Libraries Certification on <%= frontEndLibrariesDate %>.
|
||||
Completed JavaScript Algorithms and Data Structures Certification on <%=
|
||||
javascriptAlgorithmsDataStructuresDate %>. Completed Data Visualization
|
||||
Certification on <%= dataVisualizationDate %>. Completed API's and microservices
|
||||
Certification on <%= apisMicroservicesDate %>. Completed Information Security
|
||||
and Quality Assurance Certification on <%= infosecQADate %>.
|
||||
https://www.freecodecamp.org/<%= username %>
|
||||
|
@ -66,24 +66,15 @@
|
||||
},
|
||||
"basic-html-cat-photo-app": {
|
||||
"title": "基礎 HTML 貓圖應用",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"basic-css-cafe-menu": {
|
||||
"title": "基礎 CSS 咖啡菜單",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"css-variables-skyline": {
|
||||
"title": "CSS 變量 Skyline",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -170,28 +161,19 @@
|
||||
},
|
||||
"basic-javascript-rpg-game": {
|
||||
"title": "基礎 JavaScript RPG 遊戲",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"intermediate-javascript-calorie-counter": {
|
||||
"title": "中級 JavaScript 卡路里計算器",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"functional-programming-spreadsheet": {
|
||||
"title": "函數式編程電子表格",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front-end-libraries": {
|
||||
"front-end-development-libraries": {
|
||||
"title": "前端開發庫",
|
||||
"intro": [
|
||||
"你已經熟悉了 HTML、CSS 和 JavaScript。現在學習行業中一些流行的前端庫來提升你的技能吧。",
|
||||
@ -245,7 +227,7 @@
|
||||
"你已經知道了如何使用 Redux 管理共享數據流,是時候將這些知識與 React 結合起來了。在 React 和 Redux 課程中,你將構建一個 React 組件,並學習如何使用 Redux 在組件級別本地管理狀態,以及在整個應用程序中管理狀態。"
|
||||
]
|
||||
},
|
||||
"front-end-libraries-projects": {
|
||||
"front-end-development-libraries-projects": {
|
||||
"title": "前端開發庫項目",
|
||||
"intro": [
|
||||
"現在是時候應用你的前端開發庫技術進行測試。用 Bootstrap、jQuery、Sass、React、和 Redux 構建 5 個項目,測試你到現在所學到的知識。",
|
||||
@ -289,28 +271,21 @@
|
||||
},
|
||||
"d3-dashboard": {
|
||||
"title": "D3 面板",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"relational-databases": {
|
||||
"title": "關係型數據庫",
|
||||
"intro": [
|
||||
"佔位符"
|
||||
],
|
||||
"intro": ["佔位符"],
|
||||
"blocks": {
|
||||
"learn-relational-databases": {
|
||||
"title": "學習關係型數據庫",
|
||||
"intro": [
|
||||
"佔位符"
|
||||
]
|
||||
"intro": ["佔位符"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"apis-and-microservices": {
|
||||
"back-end-development-and-apis": {
|
||||
"title": "APIs 和 微服務",
|
||||
"intro": [
|
||||
"在這之前,你只是在前端使用 JavaScript 來給頁面添加交互、解決算法挑戰,或構建一個 SP。但 JavaScript 也可以用於後端或者服務器來構建整個 web 應用程序。",
|
||||
@ -343,7 +318,7 @@
|
||||
"在 MongoDB 和 Mongoose 課程中,你將學習使用的基本知識,包括如何建立模型,保存、刪除並在數據庫中查找文檔。"
|
||||
]
|
||||
},
|
||||
"apis-and-microservices-projects": {
|
||||
"back-end-development-and-apis-projects": {
|
||||
"title": "API 和微服務項目",
|
||||
"intro": [
|
||||
"你之前用過 API,但是現在你知道 npm、Node、Express、MongoDB 和 Mongoose,是時候創建應用 了。用你到現在所學的所有知識來創建 5 個不同的微服務,這些微服務是使用範圍有限的小應用。",
|
||||
|
@ -66,24 +66,15 @@
|
||||
},
|
||||
"basic-html-cat-photo-app": {
|
||||
"title": "基础 HTML 猫图应用",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"basic-css-cafe-menu": {
|
||||
"title": "基础 CSS 咖啡菜单",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"css-variables-skyline": {
|
||||
"title": "CSS 变量 Skyline",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -170,28 +161,19 @@
|
||||
},
|
||||
"basic-javascript-rpg-game": {
|
||||
"title": "基础 JavaScript RPG 游戏",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"intermediate-javascript-calorie-counter": {
|
||||
"title": "中级 JavaScript 卡路里计算器",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"functional-programming-spreadsheet": {
|
||||
"title": "函数式编程电子表格",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front-end-libraries": {
|
||||
"front-end-development-libraries": {
|
||||
"title": "前端开发库",
|
||||
"intro": [
|
||||
"你已经熟悉了 HTML、CSS 和 JavaScript。现在学习行业中一些流行的前端库来提升你的技能吧。",
|
||||
@ -245,7 +227,7 @@
|
||||
"你已经知道了如何使用 Redux 管理共享数据流,是时候将这些知识与 React 结合起来了。在 React 和 Redux 课程中,你将构建一个 React 组件,并学习如何使用 Redux 在组件级别本地管理状态,以及在整个应用程序中管理状态。"
|
||||
]
|
||||
},
|
||||
"front-end-libraries-projects": {
|
||||
"front-end-development-libraries-projects": {
|
||||
"title": "前端开发库项目",
|
||||
"intro": [
|
||||
"现在是时候应用你的前端开发库技术进行测试。用 Bootstrap、jQuery、Sass、React、和 Redux 构建 5 个项目,测试你到现在所学到的知识。",
|
||||
@ -289,28 +271,21 @@
|
||||
},
|
||||
"d3-dashboard": {
|
||||
"title": "D3 面板",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"relational-databases": {
|
||||
"title": "关系型数据库",
|
||||
"intro": [
|
||||
"占位符"
|
||||
],
|
||||
"intro": ["占位符"],
|
||||
"blocks": {
|
||||
"learn-relational-databases": {
|
||||
"title": "学习关系型数据库",
|
||||
"intro": [
|
||||
"占位符"
|
||||
]
|
||||
"intro": ["占位符"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"apis-and-microservices": {
|
||||
"back-end-development-and-apis": {
|
||||
"title": "APIs 和 微服务",
|
||||
"intro": [
|
||||
"在这之前,你只是在前端使用 JavaScript 来给页面添加交互、解决算法挑战,或构建一个 SP。但 JavaScript 也可以用于后端或者服务器来构建整个 web 应用程序。",
|
||||
@ -343,7 +318,7 @@
|
||||
"在 MongoDB 和 Mongoose 课程中,你将学习使用的基本知识,包括如何建立模型,保存、删除并在数据库中查找文档。"
|
||||
]
|
||||
},
|
||||
"apis-and-microservices-projects": {
|
||||
"back-end-development-and-apis-projects": {
|
||||
"title": "API 和微服务项目",
|
||||
"intro": [
|
||||
"你之前用过 API,但是现在你知道 npm、Node、Express、MongoDB 和 Mongoose,是时候创建应用 了。用你到现在所学的所有知识来创建 5 个不同的微服务,这些微服务是使用范围有限的小应用。",
|
||||
|
@ -173,11 +173,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"front-end-libraries": {
|
||||
"front-end-development-libraries": {
|
||||
"title": "Front End Development Libraries",
|
||||
"intro": [
|
||||
"Now that you're familiar with HTML, CSS, and JavaScript, level up your skills by learning some of the most popular front end libraries in the industry.",
|
||||
"In the Front End Libraries Certification, you'll learn how to style your site quickly with Bootstrap. You'll also learn how add logic to your CSS styles and extend them with Sass.",
|
||||
"In the Front End Development Libraries Certification, you'll learn how to style your site quickly with Bootstrap. You'll also learn how add logic to your CSS styles and extend them with Sass.",
|
||||
"Later, you'll build a shopping cart and other applications to learn how to create powerful Single Page Applications (SPAs) with React and Redux."
|
||||
],
|
||||
"note": "",
|
||||
@ -227,7 +227,7 @@
|
||||
"Now that you know how to manage the flow of shared data with Redux, it's time to combine that knowledge with React. In the React and Redux courses, you'll build a React component and learn how to manage state locally at the component level, and throughout the entire application with Redux."
|
||||
]
|
||||
},
|
||||
"front-end-libraries-projects": {
|
||||
"front-end-development-libraries-projects": {
|
||||
"title": "Front End Development Libraries Projects",
|
||||
"intro": [
|
||||
"It's time to put your front end development libraries skills to the test. Use Bootstrap, jQuery, Sass, React, and Redux to build 5 projects that will test everything you've learned up to this point.",
|
||||
@ -285,12 +285,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"apis-and-microservices": {
|
||||
"title": "APIs and Microservices",
|
||||
"back-end-development-and-apis": {
|
||||
"title": "Back End Development and APIs",
|
||||
"intro": [
|
||||
"Until this point, you've only used JavaScript on the front end to add interactivity to a page, solve algorithm challenges, or build an SPA. But JavaScript can also be used on the back end, or server, to build entire web applications.",
|
||||
"Today, one of the popular ways to build applications is through microservices, which are small, modular applications that work together to form a larger whole.",
|
||||
"In the APIs and Microservices Certification, you'll learn how to write back end apps with Node.js and npm (Node Package Manager). You'll also build web applications with the Express framework, and build a People Finder microservice with MongoDB and the Mongoose library."
|
||||
"In the Back End Development and APIs Certification, you'll learn how to write back end apps with Node.js and npm (Node Package Manager). You'll also build web applications with the Express framework, and build a People Finder microservice with MongoDB and the Mongoose library."
|
||||
],
|
||||
"note": "",
|
||||
"blocks": {
|
||||
@ -318,11 +318,11 @@
|
||||
"In the MongoDB and Mongoose courses, you'll learn the fundamentals of working with persistent data including how to set up a model, and save, delete, and find documents in the database."
|
||||
]
|
||||
},
|
||||
"apis-and-microservices-projects": {
|
||||
"title": "APIs and Microservices Projects",
|
||||
"back-end-development-and-apis-projects": {
|
||||
"title": "Back End Development and APIs Projects",
|
||||
"intro": [
|
||||
"You've worked with APIs before, but now that you know npm, Node, Express, MongoDB, and Mongoose, it's time to build your own. Draw on everything you've learned up to this point to create 5 different microservices, which are smaller applications that are limited in scope.",
|
||||
"After creating these, you'll have 5 cool microservice APIs you can show off to friends, family, and potential employers. Oh, and you'll have a shiny new APIs and Microservices Certification, too."
|
||||
"After creating these, you'll have 5 cool microservice APIs you can show off to friends, family, and potential employers. Oh, and you'll have a shiny new Back End Development and APIs Certification, too."
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -66,24 +66,15 @@
|
||||
},
|
||||
"basic-html-cat-photo-app": {
|
||||
"title": "Aplicación básica de fotos de gato HTML",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"basic-css-cafe-menu": {
|
||||
"title": "Menú básico de café CSS",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"css-variables-skyline": {
|
||||
"title": "Skyline variables de CSS",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -170,29 +161,20 @@
|
||||
},
|
||||
"basic-javascript-rpg-game": {
|
||||
"title": "Juego RPG básico en JavaScript",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"intermediate-javascript-calorie-counter": {
|
||||
"title": "Intermedio JavaScript contador de calorías",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"functional-programming-spreadsheet": {
|
||||
"title": "Hoja de cálculo de programación funcional",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front-end-libraries": {
|
||||
"title": "Librerías de desarrollo Front End",
|
||||
"front-end-development-libraries": {
|
||||
"title": "Bibliotecas de desarrollo Front end",
|
||||
"intro": [
|
||||
"Ahora que ya estás familiarizado con HTML, CSS y JavaScript, mejora tus habilidades aprendiendo algunas de las librerías de Front End más populares de la industria.",
|
||||
"En la certificación de librerías de Front End, aprenderás a diseñar tu sitio rápidamente con Bootstrap. También aprenderás cómo añadir lógica a tus estilos CSS y extenderlos con Sass.",
|
||||
@ -245,8 +227,8 @@
|
||||
"Ahora que sabes cómo administrar el flujo de datos compartidos con Redux, es hora de combinar ese conocimiento con React. En los cursos de React y Redux, construirás un componente de React y aprenderás cómo administrar el estado localmente a nivel de componentes, y a lo largo de toda la aplicación con Redux."
|
||||
]
|
||||
},
|
||||
"front-end-libraries-projects": {
|
||||
"title": "Proyectos de librerías de desarrollo Front End",
|
||||
"front-end-development-libraries-projects": {
|
||||
"title": "Front End Development Libraries Projects",
|
||||
"intro": [
|
||||
"Es hora de poner a prueba tus habilidades con las librerías de desarrollo front end. Usa Bootstrap, jQuery, Sass, React, y Redux para construir 5 proyectos que probarán todo lo que has aprendido hasta este punto.",
|
||||
"Completa los 5 proyectos y obtendrás la certificación librerías de desarrollo Front End."
|
||||
@ -289,28 +271,21 @@
|
||||
},
|
||||
"d3-dashboard": {
|
||||
"title": "Panel D3",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"relational-databases": {
|
||||
"title": "Bases de Datos Relacionales",
|
||||
"intro": [
|
||||
"marcador de posición"
|
||||
],
|
||||
"intro": ["marcador de posición"],
|
||||
"blocks": {
|
||||
"learn-relational-databases": {
|
||||
"title": "Aprender Bases de Datos Relacionales",
|
||||
"intro": [
|
||||
"marcador de posición"
|
||||
]
|
||||
"intro": ["marcador de posición"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"apis-and-microservices": {
|
||||
"back-end-development-and-apis": {
|
||||
"title": "APIs y Microservicios",
|
||||
"intro": [
|
||||
"Hasta este punto, sólo has usado JavaScript en la parte de front end para añadir interactividad a una página, resolver los desafíos de algoritmos o construir un SPA. Pero JavaScript también se puede utilizar en el back end, o servidor, para construir aplicaciones web completas.",
|
||||
@ -343,8 +318,8 @@
|
||||
"En los cursos de MongoDB y Mongoose, aprenderás los fundamentos para trabajar con datos persistentes, incluyendo cómo configurar un modelo, guardar, eliminar y encontrar documentos en la base de datos."
|
||||
]
|
||||
},
|
||||
"apis-and-microservices-projects": {
|
||||
"title": "Proyectos de microservicios y APIs",
|
||||
"back-end-development-and-apis-projects": {
|
||||
"title": "APIs and Microservices Projects",
|
||||
"intro": [
|
||||
"Has trabajado con APIs antes, pero ahora que conoces npm, Node, Express, MongoDB y Mongoose, es el momento de construir tu propia API. Basado en todo lo que ha aprendido hasta este punto, crearás 5 microservicios diferentes, que son aplicaciones más pequeñas que tienen un alcance limitado.",
|
||||
"Después de crearlas, tendrás 5 APIs de microservicios interesantes que puedes mostrar a amigos, familiares y potenciales empleadores. Oh, y también tendrás una nueva y brillante certificación de APIs y microservicios."
|
||||
|
@ -66,24 +66,15 @@
|
||||
},
|
||||
"basic-html-cat-photo-app": {
|
||||
"title": "HTML base: App per Foto di Gatti",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"basic-css-cafe-menu": {
|
||||
"title": "CSS base: Menu Caffetteria",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"css-variables-skyline": {
|
||||
"title": "Variabili CSS: Skyline",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -170,28 +161,19 @@
|
||||
},
|
||||
"basic-javascript-rpg-game": {
|
||||
"title": "Gioco RPG di base in Javascript",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"intermediate-javascript-calorie-counter": {
|
||||
"title": "Contatore Calorie in Javascript Intermedio",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"functional-programming-spreadsheet": {
|
||||
"title": "Foglio di calcolo in Programmazione Funzionale",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front-end-libraries": {
|
||||
"front-end-development-libraries": {
|
||||
"title": "Librerie di sviluppo Front End",
|
||||
"intro": [
|
||||
"Ora che hai familiarità con HTML, CSS, e JavaScript, aumenta le tue competenze conoscendo alcune delle più popolari librerie di front-end del settore.",
|
||||
@ -245,7 +227,7 @@
|
||||
"Ora che sai come gestire il flusso di dati condivisi con Redux, è il momento di combinare tale conoscenza con React. Nei corsi React e Redux, costruirai un componente React e imparerai a gestire lo stato localmente al livello dei componenti e in tutta l'applicazione con Redux."
|
||||
]
|
||||
},
|
||||
"front-end-libraries-projects": {
|
||||
"front-end-development-libraries-projects": {
|
||||
"title": "Progetti sulle Librerie di Sviluppo Front-End",
|
||||
"intro": [
|
||||
"È tempo di mettere alla prova le tue capacità di sviluppo con le librerie di sviluppo del front-end. Usa Bootstrap, jQuery, Sass, React e Redux per costruire 5 progetti che testeranno tutto quello che hai imparato fino a questo punto.",
|
||||
@ -289,28 +271,21 @@
|
||||
},
|
||||
"d3-dashboard": {
|
||||
"title": "Dashboard D3",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"relational-databases": {
|
||||
"title": "Database relazionali",
|
||||
"intro": [
|
||||
"segnaposto"
|
||||
],
|
||||
"intro": ["segnaposto"],
|
||||
"blocks": {
|
||||
"learn-relational-databases": {
|
||||
"title": "Conosci i Database Relazionali",
|
||||
"intro": [
|
||||
"segnaposto"
|
||||
]
|
||||
"intro": ["segnaposto"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"apis-and-microservices": {
|
||||
"back-end-development-and-apis": {
|
||||
"title": "API e Microservizi",
|
||||
"intro": [
|
||||
"Fino a questo punto, hai usato solo JavaScript sul front-end per aggiungere interattività a una pagina, risolvere sfide algoritmiche o costruire una Single Page Application. Ma JavaScript può essere utilizzato anche nel backend (cioè lato server), per costruire intere applicazioni web.",
|
||||
@ -343,7 +318,7 @@
|
||||
"Nei corsi di MongoDB e Mongoose, imparerai i fondamenti di come si lavora con dati persistenti, incluso come impostare un modello, e salvare, cancellare e trovare documenti nel database."
|
||||
]
|
||||
},
|
||||
"apis-and-microservices-projects": {
|
||||
"back-end-development-and-apis-projects": {
|
||||
"title": "Progetti di API e Microservizi",
|
||||
"intro": [
|
||||
"Hai già lavorato con le API prima, ma ora che conosci npm, Node, Express, MongoDB e Mongoose, è ora di costruirle. Costruisci su tutto quello che hai imparato fino a questo punto per creare 5 diversi microservizi, che sono applicazioni più piccole, con un ambito di applicazione ristretto.",
|
||||
|
@ -66,24 +66,15 @@
|
||||
},
|
||||
"basic-html-cat-photo-app": {
|
||||
"title": "Aplicativo básico de fotos de gatos em HTML",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"basic-css-cafe-menu": {
|
||||
"title": "Menu de uma cafeteria em CSS básico",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"css-variables-skyline": {
|
||||
"title": "Horizonte com variáveis de CSS",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -170,28 +161,19 @@
|
||||
},
|
||||
"basic-javascript-rpg-game": {
|
||||
"title": "Jogo básico de RPG em JavaScript",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"intermediate-javascript-calorie-counter": {
|
||||
"title": "Contador de calorias JavaScript Intermediário",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"functional-programming-spreadsheet": {
|
||||
"title": "Planilha de programação funcional",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"front-end-libraries": {
|
||||
"front-end-development-libraries": {
|
||||
"title": "Bibliotecas de desenvolvimento em front-end",
|
||||
"intro": [
|
||||
"Agora que você está familiarizado com HTML, CSS e JavaScript, melhore suas habilidades aprendendo algumas das bibliotecas front-end mais populares do setor.",
|
||||
@ -245,8 +227,8 @@
|
||||
"Agora que você sabe como gerenciar o fluxo de dados compartilhados com Redux, é hora de combinar esse conhecimento com React. Nos cursos do React e Redux, você vai construir um componente React e aprender como gerenciar estado localmente, ao nível do componente e por toda aplicação com Redux."
|
||||
]
|
||||
},
|
||||
"front-end-libraries-projects": {
|
||||
"title": "Projetos de desenvolvimento com bibliotecas de front-end",
|
||||
"front-end-development-libraries-projects": {
|
||||
"title": "Front End Development Libraries Projects",
|
||||
"intro": [
|
||||
"É hora de testar suas habilidades nas bibliotecas de desenvolvimento de front-end. Use Bootstrap, jQuery, Sass, React e Redux para criar 5 projetos que testarão tudo o que você aprendeu até agora.",
|
||||
"Complete todos os 5 projetos e você ganhará a certificação em Bibliotecas de Desenvolvimento Front-End."
|
||||
@ -289,28 +271,21 @@
|
||||
},
|
||||
"d3-dashboard": {
|
||||
"title": "Painel do D3",
|
||||
"intro": [
|
||||
"",
|
||||
""
|
||||
]
|
||||
"intro": ["", ""]
|
||||
}
|
||||
}
|
||||
},
|
||||
"relational-databases": {
|
||||
"title": "Bancos de dados relacionais",
|
||||
"intro": [
|
||||
"placeholder"
|
||||
],
|
||||
"intro": ["placeholder"],
|
||||
"blocks": {
|
||||
"learn-relational-databases": {
|
||||
"title": "Aprenda bancos de dados relacionais",
|
||||
"intro": [
|
||||
"placeholder"
|
||||
]
|
||||
"intro": ["placeholder"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"apis-and-microservices": {
|
||||
"back-end-development-and-apis": {
|
||||
"title": "APIs e microsserviços",
|
||||
"intro": [
|
||||
"Até esse ponto, você usou JavaScript apenas no front-end para adicionar interatividade a uma página, resolver desafios de algoritmos ou construir uma SPA. Mas o JavaScript também pode ser usado no back-end, ou servidor, para construir aplicações web inteiras.",
|
||||
@ -343,8 +318,8 @@
|
||||
"Nos cursos de MongoDB e Mongose, você aprenderá os fundamentos de trabalhar com dados persistentes, incluindo como configurar um modelo, salvar, excluir e buscar documentos no banco de dados."
|
||||
]
|
||||
},
|
||||
"apis-and-microservices-projects": {
|
||||
"title": "Projetos de APIs e microsserviços",
|
||||
"back-end-development-and-apis-projects": {
|
||||
"title": "Back End Development and APIs Projects",
|
||||
"intro": [
|
||||
"Você já trabalhou com APIs antes, mas agora que você conhece o npm, Node, Express, MongoDB e o Mongoose, é hora de construir a sua própria API. Utilize tudo o que você aprendeu até esse ponto para criar 5 microsserviços diferentes – aplicações menores e com escopo limitado.",
|
||||
"Depois de criá-las, você terá 5 APIs de microsserviço sensacionais, que poderão ser mostradas para amigos, familiares e potenciais empregadores. Ah, e você também terá uma Certificação em APIs e microsserviços novinha."
|
||||
|
322
client/package-lock.json
generated
322
client/package-lock.json
generated
@ -5331,6 +5331,12 @@
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
|
||||
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
|
||||
},
|
||||
"@zeit/schemas": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz",
|
||||
"integrity": "sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg==",
|
||||
"dev": true
|
||||
},
|
||||
"abort-controller": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||
@ -10076,6 +10082,23 @@
|
||||
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
|
||||
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
|
||||
},
|
||||
"fast-url-parser": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
|
||||
"integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"punycode": "^1.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"fastest-levenshtein": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
|
||||
@ -19001,6 +19024,274 @@
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"serve": {
|
||||
"version": "12.0.0",
|
||||
"resolved": "https://registry.npmjs.org/serve/-/serve-12.0.0.tgz",
|
||||
"integrity": "sha512-BkTsETQYynAZ7rXX414kg4X6EvuZQS3UVs1NY0VQYdRHSTYWPYcH38nnDh48D0x6ONuislgjag8uKlU2gTBImA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@zeit/schemas": "2.6.0",
|
||||
"ajv": "6.12.6",
|
||||
"arg": "2.0.0",
|
||||
"boxen": "1.3.0",
|
||||
"chalk": "2.4.1",
|
||||
"clipboardy": "2.3.0",
|
||||
"compression": "1.7.3",
|
||||
"serve-handler": "6.1.3",
|
||||
"update-check": "1.5.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-align": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
|
||||
"integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"string-width": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||
"dev": true
|
||||
},
|
||||
"arg": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/arg/-/arg-2.0.0.tgz",
|
||||
"integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==",
|
||||
"dev": true
|
||||
},
|
||||
"boxen": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
|
||||
"integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-align": "^2.0.0",
|
||||
"camelcase": "^4.0.0",
|
||||
"chalk": "^2.0.1",
|
||||
"cli-boxes": "^1.0.0",
|
||||
"string-width": "^2.0.0",
|
||||
"term-size": "^1.2.0",
|
||||
"widest-line": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"bytes": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
|
||||
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
|
||||
"dev": true
|
||||
},
|
||||
"camelcase": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
|
||||
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"cli-boxes": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
|
||||
"integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
|
||||
"dev": true
|
||||
},
|
||||
"compression": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
|
||||
"integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"accepts": "~1.3.5",
|
||||
"bytes": "3.0.0",
|
||||
"compressible": "~2.0.14",
|
||||
"debug": "2.6.9",
|
||||
"on-headers": "~1.0.1",
|
||||
"safe-buffer": "5.1.2",
|
||||
"vary": "~1.1.2"
|
||||
}
|
||||
},
|
||||
"cross-spawn": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
|
||||
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^4.0.1",
|
||||
"shebang-command": "^1.2.0",
|
||||
"which": "^1.2.9"
|
||||
}
|
||||
},
|
||||
"execa": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
|
||||
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cross-spawn": "^5.0.1",
|
||||
"get-stream": "^3.0.0",
|
||||
"is-stream": "^1.1.0",
|
||||
"npm-run-path": "^2.0.0",
|
||||
"p-finally": "^1.0.0",
|
||||
"signal-exit": "^3.0.0",
|
||||
"strip-eof": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"get-stream": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
|
||||
"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
|
||||
"dev": true
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
|
||||
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
|
||||
"dev": true
|
||||
},
|
||||
"is-stream": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
|
||||
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
|
||||
"dev": true
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pseudomap": "^1.0.2",
|
||||
"yallist": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"npm-run-path": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
|
||||
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"path-key": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||
"dev": true
|
||||
},
|
||||
"string-width": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
|
||||
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-fullwidth-code-point": "^2.0.0",
|
||||
"strip-ansi": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
||||
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"term-size": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
|
||||
"integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"execa": "^0.7.0"
|
||||
}
|
||||
},
|
||||
"widest-line": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
|
||||
"integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"string-width": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"serve-handler": {
|
||||
"version": "6.1.3",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz",
|
||||
"integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"content-disposition": "0.5.2",
|
||||
"fast-url-parser": "1.1.3",
|
||||
"mime-types": "2.1.18",
|
||||
"minimatch": "3.0.4",
|
||||
"path-is-inside": "1.0.2",
|
||||
"path-to-regexp": "2.2.1",
|
||||
"range-parser": "1.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bytes": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
|
||||
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
|
||||
"dev": true
|
||||
},
|
||||
"content-disposition": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
|
||||
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
|
||||
"dev": true
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.33.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
|
||||
"integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.18",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
|
||||
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "~1.33.0"
|
||||
}
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
|
||||
"integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"range-parser": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
|
||||
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"serve-index": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
|
||||
@ -20908,6 +21199,37 @@
|
||||
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
|
||||
"integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg=="
|
||||
},
|
||||
"update-check": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz",
|
||||
"integrity": "sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"registry-auth-token": "3.3.2",
|
||||
"registry-url": "3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"registry-auth-token": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
|
||||
"integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"rc": "^1.1.6",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"registry-url": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
|
||||
"integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"rc": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"update-notifier": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
|
||||
|
@ -31,6 +31,7 @@
|
||||
"format:utils": "prettier-eslint --write --trailing-comma none --single-quote './utils/**/*.js'",
|
||||
"lint": "node ./i18n/schema-validation.js",
|
||||
"serve": "gatsby serve -p 8000",
|
||||
"serve-ci": "serve -l 8000 -c ../serve.json public",
|
||||
"prestand-alone": "npm run prebuild",
|
||||
"stand-alone": "gatsby develop",
|
||||
"validate-keys": "node ./i18n/validate-keys.js"
|
||||
@ -163,6 +164,7 @@
|
||||
"monaco-editor-webpack-plugin": "4.1.1",
|
||||
"react-test-renderer": "16.14.0",
|
||||
"redux-saga-test-plan": "4.0.3",
|
||||
"serve": "^12.0.0",
|
||||
"webpack": "5.50.0",
|
||||
"webpack-cli": "4.7.2"
|
||||
}
|
||||
|
@ -15,10 +15,10 @@ import Shield from './shield';
|
||||
const iconMap = {
|
||||
'responsive-web-design': ResponsiveDesign,
|
||||
'javascript-algorithms-and-data-structures': JavaScriptIcon,
|
||||
'front-end-libraries': ReactIcon,
|
||||
'front-end-development-libraries': ReactIcon,
|
||||
'data-visualization': D3Icon,
|
||||
'back-end-development-and-apis': APIIcon,
|
||||
'relational-databases': DatabaseIcon,
|
||||
'apis-and-microservices': APIIcon,
|
||||
'quality-assurance': Clipboard,
|
||||
'scientific-computing-with-python': PythonIcon,
|
||||
'data-analysis-with-python': Analytics,
|
||||
|
@ -112,9 +112,9 @@ const ShowProjectLinks = (props: IShowProjectLinksProps): JSX.Element => {
|
||||
const legacyCerts = [
|
||||
{ title: 'Responsive Web Design' },
|
||||
{ title: 'JavaScript Algorithms and Data Structures' },
|
||||
{ title: 'Front End Libraries' },
|
||||
{ title: 'Front End Development Libraries' },
|
||||
{ title: 'Data Visualization' },
|
||||
{ title: 'APIs and Microservices' },
|
||||
{ title: 'Back End Development and APIs' },
|
||||
{ title: 'Legacy Information Security and Quality Assurance' }
|
||||
];
|
||||
return legacyCerts.map((cert, ind) => {
|
||||
|
@ -113,9 +113,9 @@ const isCertMapSelector = createSelector(
|
||||
}) => ({
|
||||
'Responsive Web Design': isRespWebDesignCert,
|
||||
'JavaScript Algorithms and Data Structures': isJsAlgoDataStructCert,
|
||||
'Front End Libraries': isFrontEndLibsCert,
|
||||
'Front End Development Libraries': isFrontEndLibsCert,
|
||||
'Data Visualization': is2018DataVisCert,
|
||||
'APIs and Microservices': isApisMicroservicesCert,
|
||||
'Back End Development and APIs': isApisMicroservicesCert,
|
||||
'Quality Assurance': isQaCertV7,
|
||||
'Information Security': isInfosecCertV7,
|
||||
'Scientific Computing with Python': isSciCompPyCertV7,
|
||||
@ -373,9 +373,9 @@ export class CertificationSettings extends Component {
|
||||
<ul>
|
||||
<li>Responsive Web Design</li>
|
||||
<li>JavaScript Algorithms and Data Structures</li>
|
||||
<li>Front End Libraries</li>
|
||||
<li>Front End Development Libraries</li>
|
||||
<li>Data Visualization</li>
|
||||
<li>APIs and Microservices</li>
|
||||
<li>Back End Development and APIs</li>
|
||||
<li>Legacy Information Security and Quality Assurance</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Introduction to the APIs and Microservices Projects
|
||||
block: APIs and Microservices Projects
|
||||
superBlock: APIs and Microservices
|
||||
title: Introduction to the Back End Development and APIs Projects
|
||||
block: Back End Development and APIs Projects
|
||||
superBlock: Back End Development and APIs
|
||||
---
|
||||
## Introduction to the APIs and Microservices Projects
|
||||
## Introduction to the Back End Development and APIs Projects
|
||||
|
||||
Time to put your newly learnt skills to work! By working on projects you would have the opportunity of applying all the skills, principles and concepts you have learnt so far including npm packages, basic Node, basic Express, MongoDB, and Mongoose.
|
||||
|
@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Basic Node and Express Challenges
|
||||
block: Basic Node and Express
|
||||
superBlock: APIs and Microservices
|
||||
superBlock: Back End Development and APIs
|
||||
---
|
||||
|
||||
## Introduction to the Basic Node and Express Challenges
|
||||
|
||||
Node.js is a JavaScript runtime that allows developers to write backend (server-side) programs in JavaScript. Node.js comes with a handful of built-in modules - small, independent programs - that help facilitate this purpose. Some of the core modules include:
|
@ -1,10 +1,10 @@
|
||||
---
|
||||
title: APIs and Microservices
|
||||
superBlock: apis-and-microservices
|
||||
title: Back End Development and APIs
|
||||
superBlock: back-end-development-and-apis
|
||||
---
|
||||
## Introduction to APIs and Microservices
|
||||
## Introduction to Back End Development and APIs
|
||||
|
||||
This is a stub introduction for APIs and Microservices
|
||||
This is a stub introduction for Back End Development and APIs
|
||||
|
||||
## Microservices
|
||||
|
@ -1,17 +1,17 @@
|
||||
---
|
||||
title: Introduction to the Managing Packages with npm Challenges
|
||||
block: Managing Packages with Npm
|
||||
superBlock: APIs and Microservices
|
||||
superBlock: Back End Development and APIs
|
||||
---
|
||||
|
||||
## Introduction to the Managing Packages with npm Challenges
|
||||
|
||||
The Node Package Manager (npm) is a command-line tool used by developers to share and control modules (or packages) of JavaScript code written for use with Node.js.<br><br>When starting a new project, npm generates a <code>package.json</code> file. This file lists the package dependencies for your project. Since npm packages are regularly updated, the <code>package.json</code> file allows you to set specific version numbers for each dependency. This ensures that updates to a package don't break your project.
|
||||
|
||||
npm saves packages in a folder named <code>node\_modules</code>. These packages can be installed in two ways:
|
||||
npm saves packages in a folder named <code>node_modules</code>. These packages can be installed in two ways:
|
||||
|
||||
|
||||
1. globally in a root <code>node\_modules</code> folder, accessible by all projects.
|
||||
2. locally within a project's own <code>node\_modules</code> folder, accessible only to that project.
|
||||
1. globally in a root <code>node_modules</code> folder, accessible by all projects.
|
||||
2. locally within a project's own <code>node_modules</code> folder, accessible only to that project.
|
||||
|
||||
Most developers prefer to install packages local to each project to create a separation between the dependencies of different projects.
|
||||
Working on these challenges will involve you writing your code on Replit on our starter project. After completing each challenge you can copy your public Replit URL (to the homepage of your app) into the challenge screen to test it! Optionally you may choose to write your project on another platform but it must be publicly visible for our testing.
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Introduction to the MongoDB and Mongoose Challenges
|
||||
block: MongoDB and Mongoose
|
||||
superBlock: APIs and Microservices
|
||||
superBlock: Back End Development and APIs
|
||||
---
|
||||
|
||||
## Introduction to the MongoDB and Mongoose Challenges
|
@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Bootstrap Challenges
|
||||
block: Bootstrap
|
||||
superBlock: Front End Libraries
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
|
||||
## Introduction to the Bootstrap Challenges
|
||||
|
||||
Bootstrap is a front-end framework used to design responsive web pages and web applications. It takes a mobile-first approach to web development. Bootstrap includes pre-built CSS styles and classes, plus some JavaScript functionality.
|
@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Front End Libraries Projects
|
||||
block: Front End Libraries Projects
|
||||
superBlock: Front End Libraries
|
||||
title: Introduction to the Front End Development Libraries Projects
|
||||
block: Front End Development Libraries Projects
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
## Introduction to the Front End Libraries Projects
|
||||
## Introduction to the Front End Development Libraries Projects
|
||||
|
||||
It's now time to test out the frontend skills learned. This will help to bolster your skills, so don't hesitate to showcase your frontend skills in these projects.
|
||||
In this section you will complete the following projects with Bootstrap, jQuery, Sass, React and Redux:
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
title: Front End Development Libraries
|
||||
superBlock: front-end-development-libraries
|
||||
---
|
||||
|
||||
## Introduction to Front End Development Libraries
|
||||
|
||||
This is a stub introduction for Front End Development Libraries
|
@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Introduction to jQuery
|
||||
block: jQuery
|
||||
superBlock: Front End Libraries
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
|
||||
## Introduction to jQuery
|
||||
|
||||
jQuery is one of the many libraries for JavaScript. It is designed to simplify scripting done on the client side.
|
||||
jQuery's most recognizable characteristic is its dollar sign (<code>$</code>) syntax. With it, you can easily manipulate elements, create animations and handle input events.
|
||||
|
@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Introduction to the React and Redux Challenges
|
||||
block: React and Redux
|
||||
superBlock: Front End Libraries
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
|
||||
## Introduction to the React and Redux Challenges
|
||||
|
||||
This series of challenges introduces how to use Redux with React.
|
@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Introduction to the React Challenges
|
||||
block: React
|
||||
superBlock: Front End Libraries
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
|
||||
## Introduction to the React Challenges
|
||||
|
||||
[React](https://reactjs.org/), created by Facebook, is an open-source JavaScript library for building user interfaces. It is used to create components, handle state and props, utilize event listeners and certain life cycle methods to update data as it changes.
|
@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Redux Challenges
|
||||
block: Redux
|
||||
superBlock: Front End Libraries
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
|
||||
## Introduction to the Redux Challenges
|
||||
|
||||
[Redux](https://redux.js.org/) is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. While you can use Redux with any view library, it's introduced here before being combined with React.
|
@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Introduction to the Sass Challenges
|
||||
block: Sass
|
||||
superBlock: Front End Libraries
|
||||
superBlock: Front End Development Libraries
|
||||
---
|
||||
|
||||
## Introduction to the Sass Challenges
|
||||
|
||||
Sass, or "Syntactically Awesome StyleSheets", is a language extension of CSS. It adds features that aren't available using basic CSS syntax. Sass makes it easier for developers to simplify and maintain the style sheets for their projects.<br><br>Sass can extend the CSS language because it is a preprocessor. It takes code written using Sass syntax, and converts it into basic CSS. This allows you to create variables, nest CSS rules into others, and import other Sass files, among other things. The result is more compact, easier to read code.<br><br>There are two syntaxes available for Sass. The first, known as SCSS (Sassy CSS) and used throughout these challenges, is an extension of the syntax of CSS. This means that every valid CSS stylesheet is a valid SCSS file with the same meaning. Files using this syntax have the .scss extension.<br><br>The second and older syntax, known as the indented syntax (or sometimes just "Sass"), uses indentation rather than brackets to indicate nesting of selectors, and newlines rather than semicolons to separate properties. Files using this syntax have the .sass extension.<br><br>This section introduces the basic features of Sass.
|
||||
|
@ -1,7 +0,0 @@
|
||||
---
|
||||
title: Front End Libraries
|
||||
superBlock: front-end-libraries
|
||||
---
|
||||
## Introduction to Front End Libraries
|
||||
|
||||
This is a stub introduction for Front End Libraries
|
@ -266,8 +266,8 @@ export const certificatesByNameSelector = username => state => {
|
||||
},
|
||||
{
|
||||
show: isFrontEndLibsCert,
|
||||
title: 'Front End Libraries Certification',
|
||||
certSlug: 'front-end-libraries'
|
||||
title: 'Front End Development Libraries Certification',
|
||||
certSlug: 'front-end-development-libraries'
|
||||
},
|
||||
{
|
||||
show: is2018DataVisCert,
|
||||
@ -276,8 +276,8 @@ export const certificatesByNameSelector = username => state => {
|
||||
},
|
||||
{
|
||||
show: isApisMicroservicesCert,
|
||||
title: 'APIs and Microservices Certification',
|
||||
certSlug: 'apis-and-microservices'
|
||||
title: 'Back End Development and APIs Certification',
|
||||
certSlug: 'back-end-development-and-apis'
|
||||
},
|
||||
{
|
||||
show: isQaCertV7,
|
||||
|
@ -3,12 +3,13 @@ const responsiveWebBase =
|
||||
const jsAlgoBase =
|
||||
'/learn/javascript-algorithms-and-data-structures/' +
|
||||
'javascript-algorithms-and-data-structures-projects';
|
||||
const feLibsBase = '/learn/front-end-libraries/front-end-libraries-projects';
|
||||
const feLibsBase =
|
||||
'/learn/front-end-development-libraries/front-end-development-libraries-projects';
|
||||
const dataVisBase = '/learn/data-visualization/data-visualization-projects';
|
||||
const relationalDatabasesBase =
|
||||
'/learn/relational-databases/learn-relational-databases';
|
||||
const apiMicroBase =
|
||||
'/learn/apis-and-microservices/apis-and-microservices-projects';
|
||||
'/learn/back-end-development-and-apis/back-end-development-and-apis-projects';
|
||||
const qaBase = '/learn/quality-assurance/quality-assurance-projects';
|
||||
const infoSecBase = '/learn/information-security/information-security-projects';
|
||||
const sciCompPyBase =
|
||||
@ -363,39 +364,39 @@ const certMap = [
|
||||
},
|
||||
{
|
||||
id: '561acd10cb82ac38a17513bc',
|
||||
title: 'Front End Libraries',
|
||||
certSlug: 'front-end-libraries',
|
||||
title: 'Front End Development Libraries',
|
||||
certSlug: 'front-end-development-libraries',
|
||||
flag: 'isFrontEndLibsCert',
|
||||
projects: [
|
||||
{
|
||||
id: 'bd7158d8c442eddfaeb5bd13',
|
||||
title: 'Build a Random Quote Machine',
|
||||
link: `${feLibsBase}/build-a-random-quote-machine`,
|
||||
certSlug: 'front-end-libraries'
|
||||
certSlug: 'front-end-development-libraries'
|
||||
},
|
||||
{
|
||||
id: 'bd7157d8c242eddfaeb5bd13',
|
||||
title: 'Build a Markdown Previewer',
|
||||
link: `${feLibsBase}/build-a-markdown-previewer`,
|
||||
certSlug: 'front-end-libraries'
|
||||
certSlug: 'front-end-development-libraries'
|
||||
},
|
||||
{
|
||||
id: '587d7dbc367417b2b2512bae',
|
||||
title: 'Build a Drum Machine',
|
||||
link: `${feLibsBase}/build-a-drum-machine`,
|
||||
certSlug: 'front-end-libraries'
|
||||
certSlug: 'front-end-development-libraries'
|
||||
},
|
||||
{
|
||||
id: 'bd7158d8c442eddfaeb5bd17',
|
||||
title: 'Build a JavaScript Calculator',
|
||||
link: `${feLibsBase}/build-a-javascript-calculator`,
|
||||
certSlug: 'front-end-libraries'
|
||||
certSlug: 'front-end-development-libraries'
|
||||
},
|
||||
{
|
||||
id: 'bd7158d8c442eddfaeb5bd0f',
|
||||
title: 'Build a 25 + 5 Clock',
|
||||
link: `${feLibsBase}/build-a-25--5-clock`,
|
||||
certSlug: 'front-end-libraries'
|
||||
certSlug: 'front-end-development-libraries'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -477,39 +478,39 @@ const certMap = [
|
||||
},
|
||||
{
|
||||
id: '561add10cb82ac38a17523bc',
|
||||
title: 'APIs and Microservices',
|
||||
certSlug: 'apis-and-microservices',
|
||||
title: 'Back End Development and APIs',
|
||||
certSlug: 'back-end-development-and-apis',
|
||||
flag: 'isApisMicroservicesCert',
|
||||
projects: [
|
||||
{
|
||||
id: 'bd7158d8c443edefaeb5bdef',
|
||||
title: 'Timestamp Microservice',
|
||||
link: `${apiMicroBase}/timestamp-microservice`,
|
||||
certSlug: 'apis-and-microservices'
|
||||
certSlug: 'back-end-development-and-apis'
|
||||
},
|
||||
{
|
||||
id: 'bd7158d8c443edefaeb5bdff',
|
||||
title: 'Request Header Parser Microservice',
|
||||
link: `${apiMicroBase}/request-header-parser-microservice`,
|
||||
certSlug: 'apis-and-microservices'
|
||||
certSlug: 'back-end-development-and-apis'
|
||||
},
|
||||
{
|
||||
id: 'bd7158d8c443edefaeb5bd0e',
|
||||
title: 'URL Shortener Microservice',
|
||||
link: `${apiMicroBase}/url-shortener-microservice`,
|
||||
certSlug: 'apis-and-microservices'
|
||||
certSlug: 'back-end-development-and-apis'
|
||||
},
|
||||
{
|
||||
id: '5a8b073d06fa14fcfde687aa',
|
||||
title: 'Exercise Tracker',
|
||||
link: `${apiMicroBase}/exercise-tracker`,
|
||||
certSlug: 'apis-and-microservices'
|
||||
certSlug: 'back-end-development-and-apis'
|
||||
},
|
||||
{
|
||||
id: 'bd7158d8c443edefaeb5bd0f',
|
||||
title: 'File Metadata Microservice',
|
||||
link: `${apiMicroBase}/file-metadata-microservice`,
|
||||
certSlug: 'apis-and-microservices'
|
||||
certSlug: 'back-end-development-and-apis'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -23,14 +23,14 @@
|
||||
"react": "JavaScript",
|
||||
"redux": "JavaScript",
|
||||
"react-and-redux": "JavaScript",
|
||||
"front-end-libraries-projects": "JavaScript",
|
||||
"front-end-development-libraries-projects": "JavaScript",
|
||||
"data-visualization-with-d3": "JavaScript",
|
||||
"json-apis-and-ajax": "JavaScript",
|
||||
"data-visualization-projects": "JavaScript",
|
||||
"managing-packages-with-npm": "JavaScript",
|
||||
"basic-node-and-express": "JavaScript",
|
||||
"mongodb-and-mongoose": "JavaScript",
|
||||
"apis-and-microservices-projects": "JavaScript",
|
||||
"back-end-development-and-apis-projects": "JavaScript",
|
||||
"information-security-with-helmetjs": "JavaScript",
|
||||
"quality-assurance-and-testing-with-chai": "JavaScript",
|
||||
"advanced-node-and-express": "JavaScript",
|
||||
@ -61,8 +61,7 @@
|
||||
"intermediate-javascript-calorie-counter": "JavaScript",
|
||||
"d3-dashboard": "JavaScript",
|
||||
"learn-bash-by-building-a-boilerplate": "Relational Databases",
|
||||
"learn-relational-databases-by-building-a-mario-database":
|
||||
"Relational Databases",
|
||||
"learn-relational-databases-by-building-a-mario-database": "Relational Databases",
|
||||
"celestial-bodies-database": "Relational Databases",
|
||||
"learn-bash-scripting-by-building-five-programs": "Relational Databases",
|
||||
"learn-bash-and-sql-by-building-a-bike-rental-shop": "Relational Databases",
|
||||
@ -73,7 +72,6 @@
|
||||
"learn-nano-by-building-a-castle": "Relational Databases",
|
||||
"learn-git-by-building-an-sql-reference-object": "Relational Databases",
|
||||
"periodic-table-database": "Relational Databases",
|
||||
"learn-github-by-building-a-list-of-inspirational-quotes":
|
||||
"Relational Databases",
|
||||
"learn-github-by-building-a-list-of-inspirational-quotes": "Relational Databases",
|
||||
"number-guessing-game": "Relational Databases"
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ const certTypes = {
|
||||
backEnd: 'isBackEndCert',
|
||||
dataVis: 'isDataVisCert',
|
||||
respWebDesign: 'isRespWebDesignCert',
|
||||
frontEndLibs: 'isFrontEndLibsCert',
|
||||
frontEndDevLibs: 'isFrontEndLibsCert',
|
||||
dataVis2018: 'is2018DataVisCert',
|
||||
jsAlgoDataStruct: 'isJsAlgoDataStructCert',
|
||||
apisMicroservices: 'isApisMicroservicesCert',
|
||||
@ -24,7 +24,7 @@ const certIds = {
|
||||
legacyInfosecQaId: '561add10cb82ac38a17213bc',
|
||||
legacyFullStackId: '561add10cb82ac38a17213bd',
|
||||
respWebDesignId: '561add10cb82ac38a17513bc',
|
||||
frontEndLibsId: '561acd10cb82ac38a17513bc',
|
||||
frontEndDevLibsId: '561acd10cb82ac38a17513bc',
|
||||
dataVis2018Id: '5a553ca864b52e1d8bceea14',
|
||||
jsAlgoDataStructId: '561abd10cb81ac38a17513bc',
|
||||
apisMicroservicesId: '561add10cb82ac38a17523bc',
|
||||
@ -43,7 +43,7 @@ const completionHours = {
|
||||
[certTypes.infosecQa]: 300,
|
||||
[certTypes.fullStack]: 1800,
|
||||
[certTypes.respWebDesign]: 300,
|
||||
[certTypes.frontEndLibs]: 300,
|
||||
[certTypes.frontEndDevLibs]: 300,
|
||||
[certTypes.jsAlgoDataStruct]: 300,
|
||||
[certTypes.dataVis2018]: 300,
|
||||
[certTypes.apisMicroservices]: 300,
|
||||
@ -68,9 +68,9 @@ const certSlugTypeMap = {
|
||||
// modern
|
||||
'responsive-web-design': certTypes.respWebDesign,
|
||||
'javascript-algorithms-and-data-structures': certTypes.jsAlgoDataStruct,
|
||||
'front-end-libraries': certTypes.frontEndLibs,
|
||||
'front-end-development-libraries': certTypes.frontEndDevLibs,
|
||||
'data-visualization': certTypes.dataVis2018,
|
||||
'apis-and-microservices': certTypes.apisMicroservices,
|
||||
'back-end-development-and-apis': certTypes.apisMicroservices,
|
||||
'quality-assurance-v7': certTypes.qaV7,
|
||||
'information-security-v7': certTypes.infosecV7,
|
||||
'scientific-computing-with-python-v7': certTypes.sciCompPyV7,
|
||||
@ -90,9 +90,9 @@ const superBlockCertTypeMap = {
|
||||
// modern
|
||||
'responsive-web-design': certTypes.respWebDesign,
|
||||
'javascript-algorithms-and-data-structures': certTypes.jsAlgoDataStruct,
|
||||
'front-end-libraries': certTypes.frontEndLibs,
|
||||
'front-end-development-libraries': certTypes.frontEndDevLibs,
|
||||
'data-visualization': certTypes.dataVis2018,
|
||||
'apis-and-microservices': certTypes.apisMicroservices,
|
||||
'back-end-development-and-apis': certTypes.apisMicroservices,
|
||||
'quality-assurance': certTypes.qaV7,
|
||||
'information-security': certTypes.infosecV7,
|
||||
'scientific-computing-with-python': certTypes.sciCompPyV7,
|
||||
@ -108,7 +108,7 @@ const certTypeIdMap = {
|
||||
[certTypes.infosecQa]: certIds.legacyInfosecQaId,
|
||||
[certTypes.fullStack]: certIds.legacyFullStackId,
|
||||
[certTypes.respWebDesign]: certIds.respWebDesignId,
|
||||
[certTypes.frontEndLibs]: certIds.frontEndLibsId,
|
||||
[certTypes.frontEndDevLibs]: certIds.frontEndDevLibsId,
|
||||
[certTypes.jsAlgoDataStruct]: certIds.jsAlgoDataStructId,
|
||||
[certTypes.dataVis2018]: certIds.dataVis2018Id,
|
||||
[certTypes.apisMicroservices]: certIds.apisMicroservicesId,
|
||||
@ -127,10 +127,10 @@ const certTypeTitleMap = {
|
||||
[certTypes.infosecQa]: 'Legacy Information Security and Quality Assurance',
|
||||
[certTypes.fullStack]: 'Legacy Full Stack',
|
||||
[certTypes.respWebDesign]: 'Responsive Web Design',
|
||||
[certTypes.frontEndLibs]: 'Front End Libraries',
|
||||
[certTypes.frontEndDevLibs]: 'Front End Development Libraries',
|
||||
[certTypes.jsAlgoDataStruct]: 'JavaScript Algorithms and Data Structures',
|
||||
[certTypes.dataVis2018]: 'Data Visualization',
|
||||
[certTypes.apisMicroservices]: 'APIs and Microservices',
|
||||
[certTypes.apisMicroservices]: 'Back End Development and APIs',
|
||||
[certTypes.qaV7]: 'Quality Assurance',
|
||||
[certTypes.infosecV7]: 'Information Security',
|
||||
[certTypes.sciCompPyV7]: 'Scientific Computing with Python',
|
||||
|
@ -1,24 +1,23 @@
|
||||
"project_id_env": "CROWDIN_PROJECT_ID"
|
||||
"api_token_env": "CROWDIN_PERSONAL_TOKEN"
|
||||
"base_path_env": "CROWDIN_BASE_PATH"
|
||||
"base_url_env": "CROWDIN_BASE_URL"
|
||||
'project_id_env': 'CROWDIN_PROJECT_ID'
|
||||
'api_token_env': 'CROWDIN_PERSONAL_TOKEN'
|
||||
'base_path_env': 'CROWDIN_BASE_PATH'
|
||||
'base_url_env': 'CROWDIN_BASE_URL'
|
||||
|
||||
"preserve_hierarchy": true
|
||||
'preserve_hierarchy': true
|
||||
|
||||
files: [
|
||||
files:
|
||||
[
|
||||
{
|
||||
"source" : "/curriculum/challenges/english/**/*.md",
|
||||
"translation" : "/curriculum/challenges/%language%/**/%original_file_name%",
|
||||
"ignore": [
|
||||
"/**/part-[0-9][0-9][0-9].md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"source" : "/curriculum/challenges/english/12-certificates/**/*.yml",
|
||||
"translation" : "/curriculum/challenges/%language%/12-certificates/**/%original_file_name%",
|
||||
},
|
||||
{
|
||||
"source" : "/curriculum/dictionaries/english/comments.json",
|
||||
"translation" : "/curriculum/dictionaries/%language%/%original_file_name%"
|
||||
},
|
||||
'source': '/curriculum/challenges/english/**/*.md',
|
||||
'translation': '/curriculum/challenges/%language%/**/%original_file_name%',
|
||||
'ignore': ['/**/part-[0-9][0-9][0-9].md']
|
||||
},
|
||||
{
|
||||
'source': '/curriculum/challenges/english/00-certificates/**/*.yml',
|
||||
'translation': '/curriculum/challenges/%language%/00-certificates/**/%original_file_name%'
|
||||
},
|
||||
{
|
||||
'source': '/curriculum/dictionaries/english/comments.json',
|
||||
'translation': '/curriculum/dictionaries/%language%/%original_file_name%'
|
||||
}
|
||||
]
|
||||
|
@ -43,9 +43,9 @@ const auditedCerts = {
|
||||
chinese: [
|
||||
'responsive-web-design',
|
||||
'javascript-algorithms-and-data-structures',
|
||||
'front-end-libraries',
|
||||
'front-end-development-libraries',
|
||||
'data-visualization',
|
||||
'apis-and-microservices',
|
||||
'back-end-development-and-apis',
|
||||
'quality-assurance',
|
||||
'scientific-computing-with-python',
|
||||
'data-analysis-with-python',
|
||||
@ -54,9 +54,9 @@ const auditedCerts = {
|
||||
'chinese-traditional': [
|
||||
'responsive-web-design',
|
||||
'javascript-algorithms-and-data-structures',
|
||||
'front-end-libraries',
|
||||
'front-end-development-libraries',
|
||||
'data-visualization',
|
||||
'apis-and-microservices',
|
||||
'back-end-development-and-apis',
|
||||
'quality-assurance',
|
||||
'scientific-computing-with-python',
|
||||
'data-analysis-with-python',
|
||||
@ -65,9 +65,9 @@ const auditedCerts = {
|
||||
italian: [
|
||||
'responsive-web-design',
|
||||
'javascript-algorithms-and-data-structures',
|
||||
'front-end-libraries',
|
||||
'front-end-development-libraries',
|
||||
'data-visualization',
|
||||
'apis-and-microservices',
|
||||
'back-end-development-and-apis',
|
||||
'quality-assurance',
|
||||
'scientific-computing-with-python',
|
||||
'data-analysis-with-python',
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "APIs and Microservices Certificate",
|
||||
"name": "Back End Development and APIs Certificate",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "apis-and-microservices-certificate",
|
||||
"dashedName": "back-end-development-and-apis-certificate",
|
||||
"order": 6,
|
||||
"time": "",
|
||||
"template": "",
|
||||
@ -11,7 +11,7 @@
|
||||
"challengeOrder": [
|
||||
[
|
||||
"561add10cb82ac38a17523bc",
|
||||
"APIs and Microservices Certificate"
|
||||
"Back End Development and APIs Certificate"
|
||||
]
|
||||
],
|
||||
"isPrivate": true
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"name": "APIs and Microservices Projects",
|
||||
"name": "Back End Development and APIs Projects",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "apis-and-microservices-projects",
|
||||
"dashedName": "back-end-development-and-apis-projects",
|
||||
"order": 4,
|
||||
"time": "150 hours",
|
||||
"superBlock": "apis-and-microservices",
|
||||
"superBlock": "back-end-development-and-apis",
|
||||
"superOrder": 6,
|
||||
"challengeOrder": [
|
||||
[
|
@ -4,7 +4,7 @@
|
||||
"dashedName": "basic-node-and-express",
|
||||
"order": 2,
|
||||
"time": "5 hours",
|
||||
"superBlock": "apis-and-microservices",
|
||||
"superBlock": "back-end-development-and-apis",
|
||||
"superOrder": 6,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -10,7 +10,7 @@
|
||||
"link": "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css"
|
||||
}
|
||||
],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Front End Libraries Certificate",
|
||||
"name": "Front End Development Libraries Certificate",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "front-end-libraries-certificate",
|
||||
"dashedName": "front-end-development-libraries-certificate",
|
||||
"order": 3,
|
||||
"time": "",
|
||||
"template": "",
|
||||
@ -11,7 +11,7 @@
|
||||
"challengeOrder": [
|
||||
[
|
||||
"561acd10cb82ac38a17513bc",
|
||||
"Front End Libraries Certificate"
|
||||
"Front End Development Libraries Certificate"
|
||||
]
|
||||
],
|
||||
"isPrivate": true
|
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "Front End Libraries Projects",
|
||||
"name": "Front End Development Libraries Projects",
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "front-end-libraries-projects",
|
||||
"dashedName": "front-end-development-libraries-projects",
|
||||
"order": 8,
|
||||
"time": "150 hours",
|
||||
"template": "",
|
||||
"required": [],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
@ -10,7 +10,7 @@
|
||||
"link": "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css"
|
||||
}
|
||||
],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -4,7 +4,7 @@
|
||||
"dashedName": "managing-packages-with-npm",
|
||||
"order": 1,
|
||||
"time": "5 hours",
|
||||
"superBlock": "apis-and-microservices",
|
||||
"superBlock": "back-end-development-and-apis",
|
||||
"superOrder": 6,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -4,7 +4,7 @@
|
||||
"dashedName": "mongodb-and-mongoose",
|
||||
"order": 3,
|
||||
"time": "5 hours",
|
||||
"superBlock": "apis-and-microservices",
|
||||
"superBlock": "back-end-development-and-apis",
|
||||
"superOrder": 6,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -19,7 +19,7 @@
|
||||
"src": "https://cdnjs.cloudflare.com/ajax/libs/react-redux/5.0.7/react-redux.min.js"
|
||||
}
|
||||
],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -13,7 +13,7 @@
|
||||
"src": "https://unpkg.com/react-dom@16.4.0/umd/react-dom.production.min.js"
|
||||
}
|
||||
],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -13,7 +13,7 @@
|
||||
"src": "https://cdnjs.cloudflare.com/ajax/libs/redux-thunk/2.2.0/redux-thunk.min.js"
|
||||
}
|
||||
],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
@ -6,7 +6,7 @@
|
||||
"time": "5 hours",
|
||||
"template": "",
|
||||
"required": [],
|
||||
"superBlock": "front-end-libraries",
|
||||
"superBlock": "front-end-development-libraries",
|
||||
"superOrder": 3,
|
||||
"challengeOrder": [
|
||||
[
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user