├── .gitignore
├── LICENSE
├── NOTICE.txt
├── README.md
├── caseStudy
├── services
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── pojo
│ │ │ │ ├── Company.java
│ │ │ │ └── Stock.java
│ │ │ ├── resources
│ │ │ │ ├── CompanyResource.java
│ │ │ │ └── StockResource.java
│ │ │ └── utility
│ │ │ │ └── InputValidator.java
│ │ └── resources
│ │ │ └── data
│ │ │ ├── companyInfo.json
│ │ │ ├── historicalStockData.json
│ │ │ └── readme.txt
│ │ └── test
│ │ └── java
│ │ ├── resources
│ │ ├── CompanyResourceTest.java
│ │ └── StockResourceTest.java
│ │ └── utility
│ │ └── InputValidatorTest.java
└── ui
│ ├── demo-captures
│ ├── Thumbs.db
│ ├── chart.PNG
│ ├── datepicker.PNG
│ └── typeahead.PNG
│ ├── package.json
│ ├── public
│ ├── favicon.ico
│ └── index.html
│ ├── setup.txt
│ └── src
│ ├── App.js
│ ├── components
│ ├── Charts.js
│ ├── Date.js
│ ├── StockTicker.js
│ └── charts
│ │ └── LineChart.js
│ ├── index.js
│ ├── style
│ ├── App.css
│ └── index.css
│ └── test
│ └── App.test.js
└── techCurriculum
├── services
├── EngineeringEssentialsServices
│ ├── data
│ │ ├── allParticipatingCountries.json
│ │ ├── events.json
│ │ └── single-event.json
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ ├── examples
│ │ │ │ ├── Example10Resource.java
│ │ │ │ ├── Example11Resource.java
│ │ │ │ ├── Example12Resource.java
│ │ │ │ ├── Example1Resource.java
│ │ │ │ ├── Example2Resource.java
│ │ │ │ ├── Example3Resource.java
│ │ │ │ ├── Example4Resource.java
│ │ │ │ ├── Example5Resource.java
│ │ │ │ ├── Example6Resource.java
│ │ │ │ ├── Example7Resource.java
│ │ │ │ ├── Example8Resource.java
│ │ │ │ └── Example9Resource.java
│ │ │ ├── model
│ │ │ │ ├── Country.java
│ │ │ │ ├── Event.java
│ │ │ │ ├── EventType.java
│ │ │ │ ├── Player.java
│ │ │ │ └── Team.java
│ │ │ ├── server
│ │ │ │ └── StarterApp.java
│ │ │ ├── solutions
│ │ │ │ ├── Example10SolutionResource.java
│ │ │ │ ├── Example11SolutionResource.java
│ │ │ │ ├── Example12SolutionResource.java
│ │ │ │ ├── Example2SolutionResource.java
│ │ │ │ ├── Example3SolutionResource.java
│ │ │ │ ├── Example4SolutionResource.java
│ │ │ │ ├── Example5SolutionResource.java
│ │ │ │ ├── Example6SolutionResource.java
│ │ │ │ ├── Example7SolutionResource.java
│ │ │ │ ├── Example8SolutionResource.java
│ │ │ │ └── Example9SolutionResource.java
│ │ │ └── utility
│ │ │ │ ├── CreateEvents.java
│ │ │ │ ├── CustomJsonMapper.java
│ │ │ │ ├── FileHelper.java
│ │ │ │ ├── LocalDateDeserializer.java
│ │ │ │ └── LocalDateSerializer.java
│ │ └── resources
│ │ │ └── backup
│ │ │ ├── allParticipatingCountries.json
│ │ │ ├── events.json
│ │ │ └── single-event.json
│ │ └── test
│ │ └── java
│ │ └── resources
│ │ ├── ResourcesTest.java
│ │ └── ResourcesTestSolutions.java
└── pom.xml
└── ui
├── LICENSE
├── extension-work.txt
├── goals.txt
├── setup.txt
├── solutions
├── 1.1
│ ├── 1.1.PNG
│ └── src
│ │ ├── App.js
│ │ └── index.js
├── 2.1
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ └── Title.js
│ │ └── index.js
├── 2.2
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ └── Title.js
│ │ └── index.js
├── 2.3
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ └── Title.js
│ │ └── index.js
├── 2.4
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 2.5
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 2.6
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 2.7
│ ├── 2.7.PNG
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 3.1
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 3.2
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 3.3
│ ├── 3.3.PNG
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.1
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.2
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.3
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.4
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.5
│ ├── 4.5.PNG
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.6
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.7
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 4.8
│ ├── 4.8.PNG
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 5.1
│ ├── package.json
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 5.2
│ ├── package.json
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 5.3
│ ├── 5.3.PNG
│ ├── package.json
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 6.1
│ ├── 6.1.PNG
│ ├── package.json
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 6.2
│ ├── 6.2.PNG
│ ├── package.json
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ └── index.js
├── 7.1
│ ├── 7.1.PNG
│ ├── package.json
│ └── src
│ │ ├── App.js
│ │ ├── components
│ │ ├── Card.js
│ │ ├── CardForm.js
│ │ ├── LineChart.js
│ │ ├── Message.js
│ │ ├── TextInput.js
│ │ ├── Title.js
│ │ └── User.js
│ │ ├── data
│ │ ├── jane_posts.json
│ │ └── john_posts.json
│ │ └── index.js
└── SOLUTION_DIFF_URLS.txt
└── starter_code
├── cards-app
├── .gitignore
├── README.md
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
└── src
│ ├── App.js
│ ├── index.js
│ └── stylesheet.css
└── data
├── jane_posts.json
└── john_posts.json
/.gitignore:
--------------------------------------------------------------------------------
1 | *.DS_Store
2 | node_modules
--------------------------------------------------------------------------------
/NOTICE.txt:
--------------------------------------------------------------------------------
1 | Engineering Essentials
2 | Copyright 2019 Goldman Sachs
3 | Licensed under Apache 2.0 license
4 | The Licensor does not indemnify the Licensee against infringement of any third party patent including, but not limited to, United States Patents 5,937,402 and 6,101,502.
5 |
6 | This product includes software developed at
7 | The Apache Software Foundation (http://www.apache.org/).
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Pull Requests
2 |
3 | There is no contribution agreement in place, so we are not accepting external pull requests at this time.
4 |
5 | # Engineering Essentials
6 |
7 | Goldman Sachs Engineering Essentials is a four day program designed to help current college sophomores develop the essential skills and tools to prepare for a successful career as a software engineer.
8 |
9 | Read more at http://www.goldmansachs.com/careers/students/programs/americas/engineering-essentials.html
10 |
11 | ## Technical Curriculum
12 |
13 | As part of the technical curriculum, you will learn how to model a system, build RESTful services and create a user interface for your application.
14 |
15 | ## Case Study - Stock Visualization Application
16 |
17 | Apply the knowledge that you have learned from the modelling, services and UI learning sessions to build a stock visualization application
18 |
--------------------------------------------------------------------------------
/caseStudy/services/pom.xml:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
20 | 4.0.0
21 |
22 | engineering-essentials
23 | stock-visualization-app
24 | 1.0-SNAPSHOT
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/caseStudy/services/src/main/java/pojo/Company.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package pojo;
18 |
19 | /**
20 | * This class will define a company and its attributes
21 | * Look at resources/data/companyInfo.json
22 | */
23 | public class Company {
24 |
25 | // TODO - Think back to your modelling session
26 | // Define the attributes of a Company based on the
27 | // provided data in resources/data
28 |
29 | // TODO - add getter and setter methods for your attributes
30 | }
31 |
--------------------------------------------------------------------------------
/caseStudy/services/src/main/java/pojo/Stock.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package pojo;
18 |
19 | /**
20 | * This class will define a company's end-of-day stock price
21 | * Look at resources/data/historicalStockData.json
22 | */
23 | public class Stock {
24 |
25 | // TODO - Think back to your modelling session
26 | // Define the attributes of a stock price based on the
27 | // provided data in resources/data
28 |
29 | // TODO - add getter and setter methods for your attributes
30 | }
31 |
--------------------------------------------------------------------------------
/caseStudy/services/src/main/java/resources/CompanyResource.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package resources;
18 |
19 | // TODO - add your @Path here
20 | public class CompanyResource {
21 |
22 | // TODO - Add a @GET resource to get company data
23 | // Your service should return data for a given stock ticker
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/caseStudy/services/src/main/java/resources/StockResource.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package resources;
18 |
19 | // TODO - add your @Path here
20 | public class StockResource {
21 |
22 | // TODO - Add a @GET resource to get stock data
23 | // Your service should return data based on 3 inputs
24 | // Stock ticker, start date and end date
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/caseStudy/services/src/main/java/utility/InputValidator.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package utility;
18 |
19 | /**
20 | * Utility class to validate inputs
21 | */
22 | public class InputValidator {
23 |
24 | // TODO - write a method that will validate your JSON input files
25 |
26 | // TODO - write a method that will validate the inputs to the Company Resource
27 |
28 | // TODO - write a method that will validate the inputs to the Stock Resource
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/caseStudy/services/src/main/resources/data/readme.txt:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | Please note that the data in historicalStockData.json is fabricated
18 | and does not indicate any past, present or future market values.
19 |
--------------------------------------------------------------------------------
/caseStudy/services/src/test/java/resources/CompanyResourceTest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package resources;
18 |
19 | /**
20 | * Write your tests for the Company Resource here
21 | */
22 | public class CompanyResourceTest {
23 |
24 | // TODO - write a test for each method in the CompanyResource class
25 | // Think about both positive and negative test cases:
26 | // What happens if no inputs are passed?
27 | // What happens if the input is null?
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/caseStudy/services/src/test/java/resources/StockResourceTest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package resources;
18 |
19 | /**
20 | * Write your tests for the Stock Resource here
21 | */
22 | public class StockResourceTest {
23 |
24 | // TODO - write a test for each method in the CompanyResource class
25 | // Think about both positive and negative test cases:
26 | // What happens if no inputs are passed?
27 | // What happens if the input is null?
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/caseStudy/services/src/test/java/utility/InputValidatorTest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | package utility;
18 |
19 | /**
20 | * Write tests for the InputValidator class here
21 | */
22 | public class InputValidatorTest {
23 |
24 | // TODO - write a test for each method in the InputValidator class
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/caseStudy/ui/demo-captures/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/caseStudy/ui/demo-captures/Thumbs.db
--------------------------------------------------------------------------------
/caseStudy/ui/demo-captures/chart.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/caseStudy/ui/demo-captures/chart.PNG
--------------------------------------------------------------------------------
/caseStudy/ui/demo-captures/datepicker.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/caseStudy/ui/demo-captures/datepicker.PNG
--------------------------------------------------------------------------------
/caseStudy/ui/demo-captures/typeahead.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/caseStudy/ui/demo-captures/typeahead.PNG
--------------------------------------------------------------------------------
/caseStudy/ui/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rename-this-to-your-app-name",
3 | "version": "0.0.1",
4 | "private": true,
5 | "devDependencies": {
6 | "react-scripts": "0.7.0"
7 | },
8 | "dependencies": {
9 | "highcharts": "5.0.11",
10 | "moment": "^2.18.1",
11 | "react": "^15.3.2",
12 | "react-bootstrap-typeahead": "^1.3.0",
13 | "react-date-range": "^0.9.3",
14 | "react-datepicker": "^0.46.0",
15 | "react-dom": "^15.3.2",
16 | "react-input-autosize": "^1.1.0"
17 | },
18 | "scripts": {
19 | "start": "react-scripts start",
20 | "build": "react-scripts build",
21 | "eject": "react-scripts eject"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/caseStudy/ui/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/caseStudy/ui/public/favicon.ico
--------------------------------------------------------------------------------
/caseStudy/ui/setup.txt:
--------------------------------------------------------------------------------
1 | Copyright 2019 Goldman Sachs.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 |
6 | http://www.apache.org/licenses/LICENSE-2.0
7 |
8 | Unless required by applicable law or agreed to in writing,
9 | software distributed under the License is distributed on an
10 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11 | KIND, either express or implied. See the License for the
12 | specific language governing permissions and limitations
13 | under the License.
14 |
15 |
16 |
17 |
18 | 1. Run "npm install". This should create a node_modules directory and download all the
19 | packages defined in package.json.
20 |
21 | 2. Run the skeleton using
22 | "npm start"
23 |
24 | 3. In the "src" directory, files have been provided for you with a few helpful tips
25 | on building your case study. There is some basic styling in "style/App.css" that you can modify as
26 | you wish.
27 | Note that not all of the packages "npm install" downloads are required to build your case study.
28 | You may choose to download and use different packages to build your components.
29 |
30 |
31 |
32 |
33 | If you're running out of time and still haven't been able to fetch all stock tickers, you may want to hard code
34 | all the stock tickers in a flat JSON file and read that in for your typeahead component
35 |
--------------------------------------------------------------------------------
/caseStudy/ui/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './style/index.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/caseStudy/ui/src/style/App.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 |
18 | .date {
19 | display: flex;
20 | flex-direction:row;
21 | }
22 | .date-input {
23 | margin-left: 1em;
24 | margin-right: 1em;
25 | }
26 |
27 | .date-range {
28 | display: flex;
29 | flex-direction:row;
30 | margin-left: 2em;
31 | float:right;
32 | }
33 |
34 | .stockticker {
35 | display: flex;
36 | flex-direction: column;
37 | float:left;
38 | }
39 |
40 | .ticker-input {
41 | display: flex;
42 | flex-direction:row;
43 | }
44 |
45 | .stockticker-typeahead {
46 | margin-left: 1em;
47 | }
48 |
49 | .company-info {
50 | margin-top: 1em;
51 | display: flex;
52 | flex-direction: column;
53 | }
54 |
55 | .input {
56 | display: flex;
57 | flex-direction:row;
58 | }
59 |
60 | .page-display {
61 | display: flex;
62 | flex-direction: column;
63 | }
64 |
--------------------------------------------------------------------------------
/caseStudy/ui/src/style/index.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | body {
18 | margin: 0;
19 | padding: 20px;
20 | font-family: 'Roboto Condensed';
21 | }
22 |
--------------------------------------------------------------------------------
/caseStudy/ui/src/test/App.test.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | */
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from '../App';
20 |
21 | it('renders without crashing', () => {
22 | const div = document.createElement('div');
23 | ReactDOM.render(, div);
24 | });
25 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/data/single-event.json:
--------------------------------------------------------------------------------
1 | {
2 | "eventType":"WaterPolo",
3 | "homeCountry": "Portugal",
4 | "awayCountry": "Australia",
5 | "date": "2018-02-27",
6 | "winningCountry": "Portugal",
7 | "losingCountry": "Australia",
8 | "winningScore": 22,
9 | "losingScore": 4
10 | }
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/examples/Example1Resource.java:
--------------------------------------------------------------------------------
1 | package examples;
2 |
3 | import javax.ws.rs.GET;
4 | import javax.ws.rs.Path;
5 | import javax.ws.rs.Produces;
6 | import javax.ws.rs.core.MediaType;
7 | import javax.ws.rs.core.Response;
8 | import java.io.IOException;
9 |
10 | /**
11 | * Copyright 2018 Goldman Sachs.
12 | * Licensed under the Apache License, Version 2.0 (the "License");
13 | * you may not use this file except in compliance with the License.
14 | * You may obtain a copy of the License at
15 | *
16 | * http://www.apache.org/licenses/LICENSE-2.0
17 | *
18 | * Unless required by applicable law or agreed to in writing,
19 | * software distributed under the License is distributed on an
20 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21 | * KIND, either express or implied. See the License for the
22 | * specific language governing permissions and limitations
23 | * under the License.
24 | */
25 | @Path("hello")
26 | public class Example1Resource {
27 |
28 |
29 | /**
30 | * Example 1 Instructions:
31 | *
32 | *
33 | * Run your StartApp with program Arguments: server
34 | * Go to http://localhost:8080/hello/ok and verify your server is running.
35 | */
36 |
37 | @GET
38 | @Path("/ok")
39 | @Produces(MediaType.APPLICATION_JSON)
40 | public Response getResponse() throws IOException {
41 | return Response.status(Response.Status.OK).entity("Congratulations! You have Successfully started your Rest Server!").build();
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/examples/Example2Resource.java:
--------------------------------------------------------------------------------
1 | package examples;
2 |
3 | import javax.ws.rs.GET;
4 | import javax.ws.rs.Path;
5 | import javax.ws.rs.Produces;
6 | import javax.ws.rs.core.MediaType;
7 |
8 | /**
9 | * Copyright 2018 Goldman Sachs.
10 | * Licensed under the Apache License, Version 2.0 (the "License");
11 | * you may not use this file except in compliance with the License.
12 | * You may obtain a copy of the License at
13 | *
14 | * http://www.apache.org/licenses/LICENSE-2.0
15 | *
16 | * Unless required by applicable law or agreed to in writing,
17 | * software distributed under the License is distributed on an
18 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19 | * KIND, either express or implied. See the License for the
20 | * specific language governing permissions and limitations
21 | * under the License.
22 | */
23 | @Path("events")
24 | public class Example2Resource {
25 |
26 | /**
27 | * Example 2 Instructions:
28 | * Modify the method below to return the String "Welcome to Engineering Essentials Services Training!"
29 | *
30 | * Restart the Server and visit http://localhost:8080/events/test
31 | */
32 | @GET
33 | @Path("test")
34 | @Produces(MediaType.APPLICATION_JSON)
35 | public String helloWorld() {
36 | return "Hello, world!";
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/examples/Example4Resource.java:
--------------------------------------------------------------------------------
1 | package examples;
2 |
3 |
4 | import model.Event;
5 |
6 | import javax.ws.rs.GET;
7 | import javax.ws.rs.Path;
8 | import javax.ws.rs.Produces;
9 | import javax.ws.rs.core.MediaType;
10 | import javax.ws.rs.core.Response;
11 |
12 | /**
13 | * Copyright 2018 Goldman Sachs.
14 | * Licensed under the Apache License, Version 2.0 (the "License");
15 | * you may not use this file except in compliance with the License.
16 | * You may obtain a copy of the License at
17 | *
20 | * Unless required by applicable law or agreed to in writing,
21 | * software distributed under the License is distributed on an
22 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23 | * KIND, either express or implied. See the License for the
24 | * specific language governing permissions and limitations
25 | * under the License.
26 | */
27 | @Path("events")
28 | public class Example4Resource {
29 |
30 |
31 | /**
32 | * Example 4 Instructions:
33 | *
34 | * Use the appropriate method from FileHelper.java (utility folder) to read in a single event from the file
35 | * "single-event.json" and return this event
36 | *
37 | * Hint: the method below is missing an annotation
38 | *
39 | * URL: http://localhost:8080/events/sample
40 | */
41 | @Path("sample")
42 | @Produces(MediaType.APPLICATION_JSON)
43 | public Response getSampleEvent() {
44 |
45 | Event event = null;
46 | return Response.ok().entity(event).build();
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/examples/Example5Resource.java:
--------------------------------------------------------------------------------
1 | package examples;
2 |
3 |
4 | import model.Event;
5 |
6 | import javax.ws.rs.GET;
7 | import javax.ws.rs.Path;
8 | import javax.ws.rs.Produces;
9 | import javax.ws.rs.core.MediaType;
10 | import javax.ws.rs.core.Response;
11 | import java.io.IOException;
12 | import java.util.ArrayList;
13 | import java.util.List;
14 |
15 | /**
16 | * Copyright 2018 Goldman Sachs.
17 | * Licensed under the Apache License, Version 2.0 (the "License");
18 | * you may not use this file except in compliance with the License.
19 | * You may obtain a copy of the License at
20 | *
21 | * http://www.apache.org/licenses/LICENSE-2.0
22 | *
23 | * Unless required by applicable law or agreed to in writing,
24 | * software distributed under the License is distributed on an
25 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
26 | * KIND, either express or implied. See the License for the
27 | * specific language governing permissions and limitations
28 | * under the License.
29 | */
30 | @Path("events")
31 | public class Example5Resource {
32 |
33 |
34 | /**
35 | * Example 5 Instructions:
36 | *
37 | * Add the proper @Produces Annotation to the method below
38 | * and then use the appropriate method from FileHelper to read and return
39 | * the list of all of the events in the events.json file
40 | *
41 | * URL: http://localhost:8080/events/all
42 | */
43 | @GET
44 | @Path("all")
45 | public Response getAllEvents() throws IOException {
46 |
47 | List events = null;
48 | return Response.ok().entity(events).build();
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/examples/Example6Resource.java:
--------------------------------------------------------------------------------
1 | package examples;
2 |
3 |
4 | import model.Country;
5 |
6 | import javax.ws.rs.GET;
7 | import javax.ws.rs.Path;
8 | import javax.ws.rs.Produces;
9 | import javax.ws.rs.core.MediaType;
10 | import javax.ws.rs.core.Response;
11 | import java.util.List;
12 |
13 | /**
14 | * Copyright 2018 Goldman Sachs.
15 | * Licensed under the Apache License, Version 2.0 (the "License");
16 | * you may not use this file except in compliance with the License.
17 | * You may obtain a copy of the License at
18 | *
19 | * http://www.apache.org/licenses/LICENSE-2.0
20 | *
21 | * Unless required by applicable law or agreed to in writing,
22 | * software distributed under the License is distributed on an
23 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
24 | * KIND, either express or implied. See the License for the
25 | * specific language governing permissions and limitations
26 | * under the License.
27 | */
28 | @Path("events")
29 | public class Example6Resource {
30 |
31 | /**
32 | * Example 6 Instructions:
33 | * Add the functionality to return a list of Countries that participated in at least 1 event
34 | *
35 | * URL: http://localhost:8080/events/allParticipatingCountries
36 | *
37 | */
38 | @GET
39 | @Path("replace")
40 | @Produces(MediaType.APPLICATION_JSON)
41 | public Response getAllParticipatingCountries() {
42 |
43 | List participatingCountries = null;
44 | return null;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/examples/Example8Resource.java:
--------------------------------------------------------------------------------
1 | package examples;
2 |
3 | import javax.ws.rs.GET;
4 | import javax.ws.rs.Path;
5 | import javax.ws.rs.PathParam;
6 |
7 | /**
8 | * Copyright 2018 Goldman Sachs.
9 | * Licensed under the Apache License, Version 2.0 (the "License");
10 | * you may not use this file except in compliance with the License.
11 | * You may obtain a copy of the License at
12 | *
13 | * http://www.apache.org/licenses/LICENSE-2.0
14 | *
15 | * Unless required by applicable law or agreed to in writing,
16 | * software distributed under the License is distributed on an
17 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 | * KIND, either express or implied. See the License for the
19 | * specific language governing permissions and limitations
20 | * under the License.
21 | */
22 | @Path("events")
23 | public class Example8Resource {
24 |
25 | /**
26 | * Example 8 Instructions:
27 | * Fill in the method below so that for a given country, this endpoint returns the number of wins that country has
28 | *
29 | * Hint: Don't forget the @PathParam annotation
30 | *
31 | * URL: http://localhost:8080/events/UnitedStates/wins
32 | * URL: http://localhost:8080/events/China/wins
33 | *
34 | */
35 | @GET
36 | @Path("replace this")
37 | public int getWins(String country) {
38 | return 0;
39 | }
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/model/Country.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | /**
4 | * Copyright 2018 Goldman Sachs.
5 | * Licensed under the Apache License, Version 2.0 (the "License");
6 | * you may not use this file except in compliance with the License.
7 | * You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing,
12 | * software distributed under the License is distributed on an
13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 | * KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations
16 | * under the License.
17 | */
18 | public enum Country {
19 |
20 | UnitedStates,
21 | England,
22 | India,
23 | Brazil,
24 | Australia,
25 | Japan,
26 | China,
27 | Portugal
28 | }
29 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/model/EventType.java:
--------------------------------------------------------------------------------
1 | package model;
2 |
3 | /**
4 | * Copyright 2018 Goldman Sachs.
5 | * Licensed under the Apache License, Version 2.0 (the "License");
6 | * you may not use this file except in compliance with the License.
7 | * You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing,
12 | * software distributed under the License is distributed on an
13 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 | * KIND, either express or implied. See the License for the
15 | * specific language governing permissions and limitations
16 | * under the License.
17 | */
18 | public enum EventType {
19 | WaterPolo,
20 | Baseball,
21 | Curling
22 | }
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/solutions/Example10SolutionResource.java:
--------------------------------------------------------------------------------
1 | package solutions;
2 |
3 | import model.Team;
4 | import utility.FileHelper;
5 |
6 | import javax.ws.rs.*;
7 | import javax.ws.rs.core.MediaType;
8 | import javax.ws.rs.core.Response;
9 | import java.io.IOException;
10 |
11 | /**
12 | * Copyright 2018 Goldman Sachs.
13 | * Licensed under the Apache License, Version 2.0 (the "License");
14 | * you may not use this file except in compliance with the License.
15 | * You may obtain a copy of the License at
16 | *
19 | * Unless required by applicable law or agreed to in writing,
20 | * software distributed under the License is distributed on an
21 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
22 | * KIND, either express or implied. See the License for the
23 | * specific language governing permissions and limitations
24 | * under the License.
25 | */
26 | @Path("events")
27 | public class Example10SolutionResource {
28 |
29 | @PUT
30 | @Path("team")
31 | @Consumes(MediaType.APPLICATION_JSON)
32 | @Produces(MediaType.APPLICATION_JSON)
33 | public Response setTeam(Team newTeam) throws IOException {
34 |
35 | FileHelper.writeTeamToFile(newTeam.getName().toLowerCase().concat("-team.json"), newTeam);
36 |
37 | return Response.ok().build();
38 | }
39 |
40 | @GET
41 | @Path("team/{teamName}")
42 | @Produces(MediaType.APPLICATION_JSON)
43 | public Team getTeam(@PathParam("teamName") String teamName) throws IOException {
44 |
45 | return FileHelper.readTeamFromFile(teamName.toLowerCase().concat("-team.json"));
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/solutions/Example2SolutionResource.java:
--------------------------------------------------------------------------------
1 | package solutions;
2 |
3 | import javax.ws.rs.GET;
4 | import javax.ws.rs.Path;
5 | import javax.ws.rs.Produces;
6 | import javax.ws.rs.core.MediaType;
7 |
8 | /**
9 | * Copyright 2018 Goldman Sachs.
10 | * Licensed under the Apache License, Version 2.0 (the "License");
11 | * you may not use this file except in compliance with the License.
12 | * You may obtain a copy of the License at
13 | *
14 | * http://www.apache.org/licenses/LICENSE-2.0
15 | *
16 | * Unless required by applicable law or agreed to in writing,
17 | * software distributed under the License is distributed on an
18 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19 | * KIND, either express or implied. See the License for the
20 | * specific language governing permissions and limitations
21 | * under the License.
22 | */
23 | @Path("events")
24 | public class Example2SolutionResource {
25 |
26 | /**
27 | * Example 2 Instructions:
28 | * Modify the method below to return the String "Welcome to Engineering Essentials Services Training!"
29 | */
30 | @GET
31 | @Path("test")
32 | @Produces(MediaType.APPLICATION_JSON)
33 | public String helloWorld() {
34 | return "Welcome to Engineering Essentials Services Training!";
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/solutions/Example3SolutionResource.java:
--------------------------------------------------------------------------------
1 | package solutions;
2 |
3 |
4 | import javax.ws.rs.GET;
5 | import javax.ws.rs.Path;
6 | import javax.ws.rs.Produces;
7 | import javax.ws.rs.core.MediaType;
8 | import javax.ws.rs.core.Response;
9 | import java.io.IOException;
10 |
11 | /**
12 | * Copyright 2018 Goldman Sachs.
13 | * Licensed under the Apache License, Version 2.0 (the "License");
14 | * you may not use this file except in compliance with the License.
15 | * You may obtain a copy of the License at
16 | *
17 | * http://www.apache.org/licenses/LICENSE-2.0
18 | *
19 | * Unless required by applicable law or agreed to in writing,
20 | * software distributed under the License is distributed on an
21 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
22 | * KIND, either express or implied. See the License for the
23 | * specific language governing permissions and limitations
24 | * under the License.
25 | */
26 | @Path("response")
27 | public class Example3SolutionResource {
28 |
29 | /**
30 | * Example 3 Instructions:
31 | *
32 | *
33 | */
34 | @GET
35 | @Path("test/fixed")
36 | @Produces(MediaType.APPLICATION_JSON)
37 | public Response getResponse() throws IOException {
38 | //TODO: Modify the Path "response" and uri of the getResponse() method to be "/response/test/fixed"
39 | //TODO: Fix the response so that it returns a 200 OK instead of an internal server error.
40 | // TODO:Return the Response with the String entity
41 | String entity = "This site is now fixed.";
42 | return Response.status(Response.Status.OK).entity(entity).build();
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/solutions/Example4SolutionResource.java:
--------------------------------------------------------------------------------
1 | package solutions;
2 |
3 | import model.Event;
4 | import utility.FileHelper;
5 |
6 | import javax.ws.rs.GET;
7 | import javax.ws.rs.Path;
8 | import javax.ws.rs.Produces;
9 | import javax.ws.rs.core.MediaType;
10 | import javax.ws.rs.core.Response;
11 | import java.io.IOException;
12 |
13 | /**
14 | * Copyright 2018 Goldman Sachs.
15 | * Licensed under the Apache License, Version 2.0 (the "License");
16 | * you may not use this file except in compliance with the License.
17 | * You may obtain a copy of the License at
18 | *
19 | * http://www.apache.org/licenses/LICENSE-2.0
20 | *
21 | * Unless required by applicable law or agreed to in writing,
22 | * software distributed under the License is distributed on an
23 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
24 | * KIND, either express or implied. See the License for the
25 | * specific language governing permissions and limitations
26 | * under the License.
27 | */
28 | @Path("events")
29 | public class Example4SolutionResource {
30 |
31 | @GET
32 | @Path("sample")
33 | @Produces(MediaType.APPLICATION_JSON)
34 | public Response getSampleEvent() throws IOException {
35 |
36 | Event event = FileHelper.readSingleEvent("single-event.json");
37 | return Response.ok().entity(event).build();
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/solutions/Example5SolutionResource.java:
--------------------------------------------------------------------------------
1 | package solutions;
2 |
3 |
4 | import com.fasterxml.jackson.databind.ObjectMapper;
5 | import model.Event;
6 | import utility.FileHelper;
7 |
8 | import javax.ws.rs.GET;
9 | import javax.ws.rs.Path;
10 | import javax.ws.rs.Produces;
11 | import javax.ws.rs.core.MediaType;
12 | import javax.ws.rs.core.Response;
13 | import java.io.IOException;
14 | import java.util.List;
15 |
16 | /**
17 | * Copyright 2018 Goldman Sachs.
18 | * Licensed under the Apache License, Version 2.0 (the "License");
19 | * you may not use this file except in compliance with the License.
20 | * You may obtain a copy of the License at
21 | *
22 | * http://www.apache.org/licenses/LICENSE-2.0
23 | *
24 | * Unless required by applicable law or agreed to in writing,
25 | * software distributed under the License is distributed on an
26 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
27 | * KIND, either express or implied. See the License for the
28 | * specific language governing permissions and limitations
29 | * under the License.
30 | */
31 | @Path("events")
32 | public class Example5SolutionResource {
33 | private ObjectMapper mapper = new ObjectMapper();
34 |
35 | @GET
36 | @Path("all")
37 | @Produces(MediaType.APPLICATION_JSON)
38 | public Response getAllEvents() throws IOException {
39 | //TODO: Return the list of all of the events in the events.json file
40 | List events = FileHelper.readAllEvents("events.json");
41 | return Response.ok(events).build();
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/solutions/Example8SolutionResource.java:
--------------------------------------------------------------------------------
1 | package solutions;
2 |
3 | import model.Event;
4 | import utility.FileHelper;
5 |
6 | import javax.ws.rs.GET;
7 | import javax.ws.rs.Path;
8 | import javax.ws.rs.PathParam;
9 | import java.io.IOException;
10 | import java.util.List;
11 |
12 | /**
13 | * Copyright 2018 Goldman Sachs.
14 | * Licensed under the Apache License, Version 2.0 (the "License");
15 | * you may not use this file except in compliance with the License.
16 | * You may obtain a copy of the License at
17 | *
18 | * http://www.apache.org/licenses/LICENSE-2.0
19 | *
20 | * Unless required by applicable law or agreed to in writing,
21 | * software distributed under the License is distributed on an
22 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23 | * KIND, either express or implied. See the License for the
24 | * specific language governing permissions and limitations
25 | * under the License.
26 | */
27 | @Path("events")
28 | public class Example8SolutionResource {
29 |
30 | @GET
31 | @Path("{country}/wins")
32 | public int getWins(@PathParam("country") String country) throws IOException {
33 |
34 | List events = FileHelper.readAllEvents("events.json");
35 |
36 | int numWins = 0;
37 | for (Event event: events) {
38 | if (event.getWinningCountry().name().equalsIgnoreCase(country)) {
39 | ++numWins;
40 | }
41 |
42 | }
43 | return numWins;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/java/utility/LocalDateSerializer.java:
--------------------------------------------------------------------------------
1 | package utility;
2 |
3 | import com.fasterxml.jackson.core.JsonGenerator;
4 | import com.fasterxml.jackson.databind.JsonSerializer;
5 | import com.fasterxml.jackson.databind.SerializerProvider;
6 | import com.fasterxml.jackson.databind.ser.std.StdSerializer;
7 | import org.apache.commons.lang3.StringUtils;
8 | import org.joda.time.LocalDate;
9 |
10 | import java.io.IOException;
11 |
12 | /**
13 | * Copyright 2018 Goldman Sachs.
14 | * Licensed under the Apache License, Version 2.0 (the "License");
15 | * you may not use this file except in compliance with the License.
16 | * You may obtain a copy of the License at
17 | *
20 | * Unless required by applicable law or agreed to in writing,
21 | * software distributed under the License is distributed on an
22 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23 | * KIND, either express or implied. See the License for the
24 | * specific language governing permissions and limitations
25 | * under the License.
26 | */
27 |
28 | public class LocalDateSerializer extends JsonSerializer {
29 |
30 |
31 | @Override
32 | public void serialize(LocalDate localDate, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
33 |
34 | // jsonGenerator.writeStartObject();
35 |
36 | jsonGenerator.writeString(String.join("-", String.valueOf(localDate.getYear()), String.valueOf(localDate.getMonthOfYear()),
37 | String.valueOf(localDate.getDayOfMonth())));
38 | // jsonGenerator.writeEndObject();
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/techCurriculum/services/EngineeringEssentialsServices/src/main/resources/backup/single-event.json:
--------------------------------------------------------------------------------
1 | {
2 | "eventType":"WaterPolo",
3 | "homeCountry": "Portugal",
4 | "awayCountry": "Australia",
5 | "date": "2018-02-27",
6 | "winningCountry": "Portugal",
7 | "losingCountry": "Australia",
8 | "winningScore": 22,
9 | "losingScore": 4
10 | }
--------------------------------------------------------------------------------
/techCurriculum/ui/extension-work.txt:
--------------------------------------------------------------------------------
1 | Copyright 2019 Goldman Sachs.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing,
7 | software distributed under the License is distributed on an
8 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9 | KIND, either express or implied. See the License for the
10 | specific language governing permissions and limitations
11 | under the License.
12 |
13 | Extra features you can add to the Cards project...
14 | * "Favorite" Cards: Add a star icon on all cards that allows you to click the star to "favorite" the card
15 | * "Reply-to" Cards: Add a reply icon on all cards that, when clicked, opens a different form for responding
16 | * More libraries: Think up some features for the app and use open source third party libraries from GitHub to implement them
17 |
18 |
19 | Further topics to research...
20 | * Fetch, Axios, jQuery -- figure out how to use at least one of these to make AJAX HTTP requests! You'll need to do this for your case study.
21 | * React router -- can use this to add several pages to your application
22 | * React lifecycle -- learn more about React's under the hood "magic" and places where you can inject additional logic
23 | * Redux -- popular central datastore architecture, more useful for larger projects
24 | * Boilerplate -- alternatives to create-react-app that you'll probably consider if you ever make your own React app
25 |
--------------------------------------------------------------------------------
/techCurriculum/ui/setup.txt:
--------------------------------------------------------------------------------
1 | Copyright 2019 Goldman Sachs.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing,
7 | software distributed under the License is distributed on an
8 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9 | KIND, either express or implied. See the License for the
10 | specific language governing permissions and limitations
11 | under the License.
12 |
13 |
14 | # Prerequisites
15 |
16 | - IDE e.g. Sublime Text, Visual Studio Code
17 | - Node (v10.x and up should all be fine)
18 | - npm (v6.x)
19 | - git (v2.x)
20 | - clone the goldmansachs/EngineeringEssentials GitHub repository
21 |
22 | # Environment Setup
23 |
24 | - We will assume you have the repository in the root of a drive, e.g. H:\
25 | - File structure will look like: H:\EngineeringEssentials\techCurriculum\ui\starter_code\cards-app\...
26 | - Run the following command to get set up with the boiler plate code
27 |
28 | > H:\EngineeringEssentials\techCurriculum\ui\starter_code\cards-app>npm install
29 | * Installs the initial dependencies for this project (mainly vanilla React libraries)
30 |
31 | # Test your setup
32 |
33 | > H:\EngineeringEssentials\techCurriculum\ui\starter_code\cards-app>npm start
34 |
35 | You should see a barebones page that says "Hello World"
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/1.1/1.1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/1.1/1.1.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/1.1/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const App = () => {
20 | return (
21 |
22 |
Hello World 2
23 |
24 | );
25 | }
26 |
27 | export default App;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/1.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import './stylesheet.css';
20 |
21 | const title = (
22 |
23 |
Cards
24 |
Share your ideas
25 |
26 | );
27 |
28 | ReactDOM.render(
29 | title,
30 | document.getElementById('root')
31 | );
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.1/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const App = () => {
20 | return (
21 |
22 |
Hello World 2
23 |
24 | );
25 | }
26 |
27 | export default App;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.1/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import './stylesheet.css';
20 |
21 | const title = (
22 |
23 |
Cards
24 |
Share your ideas
25 |
26 | );
27 |
28 | ReactDOM.render(
29 | title,
30 | document.getElementById('root')
31 | );
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.2/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 |
20 | const App = () => {
21 | return (
22 |
23 |
24 |
25 | );
26 | }
27 |
28 | export default App;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.2/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.2/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import './stylesheet.css';
20 |
21 | const title = (
22 |
23 |
Cards
24 |
Share your ideas
25 |
26 | );
27 |
28 | ReactDOM.render(
29 | title,
30 | document.getElementById('root')
31 | );
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.3/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 |
20 | const App = () => {
21 | return (
22 |
23 |
24 |
25 | );
26 | }
27 |
28 | export default App;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.3/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.3/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.4/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 |
20 | const App = () => {
21 | return (
22 |
23 |
24 |
25 | );
26 | }
27 |
28 | export default App;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.4/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.4/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = () => {
20 | return (
21 |
22 |
23 |
John Smith
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.4/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.5/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 |
20 | const App = () => {
21 | return (
22 |
23 |
24 |
25 | );
26 | }
27 |
28 | export default App;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.5/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = () => {
20 | return (
21 |
22 |
React is so cool!
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.5/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.5/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = () => {
20 | return (
21 |
22 |
23 |
John Smith
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.5/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.6/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 |
20 | const App = () => {
21 | return (
22 |
23 |
24 |
25 | );
26 | }
27 |
28 | export default App;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.6/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = () => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.6/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = () => {
20 | return (
21 |
22 |
React is so cool!
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.6/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.6/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = () => {
20 | return (
21 |
22 |
23 |
John Smith
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.6/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/2.7.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/2.7/2.7.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from './node_modules/react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | const App = () => {
22 | return (
23 |
24 |
25 |
26 |
27 | );
28 | }
29 |
30 | export default App;
31 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from './node_modules/react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = () => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from './node_modules/react';
18 |
19 | const Message = () => {
20 | return (
21 |
22 |
React is so cool!
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from './node_modules/react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from './node_modules/react';
18 |
19 | const User = () => {
20 | return (
21 |
22 |
23 |
John Smith
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/2.7/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.1/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | const App = () => {
22 | return (
23 |
24 |
25 |
26 |
27 | );
28 | }
29 |
30 | export default App;
31 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.1/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = () => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.1/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = () => {
20 | return (
21 |
22 |
React is so cool!
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.1/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.1/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.2/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | const App = () => {
22 | return (
23 |
24 |
25 |
26 |
27 | );
28 | }
29 |
30 | export default App;
31 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.2/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = () => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.2/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.2/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.2/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.2/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/3.3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/3.3/3.3.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | const App = () => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 | );
29 | }
30 |
31 | export default App;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/3.3/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.1/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | class App extends React.Component {
22 | constructor(props) {
23 | super(props);
24 | this.state = {
25 | cards: [
26 | {
27 | author: 'John Smith',
28 | text: 'React is so cool!'
29 | },
30 | {
31 | author: 'Jane Doe',
32 | text: 'I use React for all my projects!'
33 | }
34 | ]
35 | };
36 | }
37 |
38 | render() {
39 | const cards = this.state.cards.map((card, index) => (
40 |
43 | ));
44 |
45 | return (
46 |
47 |
48 | { cards }
49 |
50 | );
51 | }
52 | }
53 |
54 | export default App;
55 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.1/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.1/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.1/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.1/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | class App extends React.Component {
22 | constructor(props) {
23 | super(props);
24 | this.state = {
25 | cards: [
26 | {
27 | author: 'John Smith',
28 | text: 'React is so cool!'
29 | },
30 | {
31 | author: 'Jane Doe',
32 | text: 'I use React for all my projects!'
33 | }
34 | ]
35 | };
36 | }
37 |
38 | render() {
39 | const cards = this.state.cards.map((card, index) => (
40 |
43 | ));
44 |
45 | return (
46 |
47 |
48 | { cards }
49 |
50 | );
51 | }
52 | }
53 |
54 | export default App;
55 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/components/CardForm.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import TextInput from './TextInput.js'
19 |
20 | class CardForm extends React.Component {
21 | render() {
22 | return (
23 |
28 | );
29 | }
30 | }
31 |
32 | export default CardForm;
33 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = () => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.2/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | class App extends React.Component {
22 | constructor(props) {
23 | super(props);
24 | this.state = {
25 | cards: [
26 | {
27 | author: 'John Smith',
28 | text: 'React is so cool!'
29 | },
30 | {
31 | author: 'Jane Doe',
32 | text: 'I use React for all my projects!'
33 | }
34 | ]
35 | };
36 | }
37 |
38 | render() {
39 | const cards = this.state.cards.map((card, index) => (
40 |
43 | ));
44 |
45 | return (
46 |
47 |
48 | { cards }
49 |
50 | );
51 | }
52 | }
53 |
54 | export default App;
55 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/components/CardForm.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import TextInput from './TextInput.js'
19 |
20 | class CardForm extends React.Component {
21 | constructor(props) {
22 | super(props);
23 | }
24 |
25 | handleSubmit = (event) => {
26 |
27 | }
28 |
29 | render() {
30 | return (
31 |
37 | );
38 | }
39 | }
40 |
41 | export default CardForm;
42 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.3/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import Title from './components/Title';
19 | import Card from './components/Card';
20 |
21 | class App extends React.Component {
22 | constructor(props) {
23 | super(props);
24 | this.state = {
25 | cards: [
26 | {
27 | author: 'John Smith',
28 | text: 'React is so cool!'
29 | },
30 | {
31 | author: 'Jane Doe',
32 | text: 'I use React for all my projects!'
33 | }
34 | ]
35 | };
36 | }
37 |
38 | render() {
39 | const cards = this.state.cards.map((card, index) => (
40 |
43 | ));
44 |
45 | return (
46 |
47 |
48 | { cards }
49 |
50 | );
51 | }
52 | }
53 |
54 | export default App;
55 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/components/CardForm.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import TextInput from './TextInput.js'
19 |
20 | class CardForm extends React.Component {
21 | constructor(props) {
22 | super(props);
23 | }
24 |
25 | handleSubmit = (event) => {
26 |
27 | }
28 |
29 | render() {
30 | return (
31 |
37 | );
38 | }
39 | }
40 |
41 | export default CardForm;
42 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 | constructor(props) {
21 | super(props);
22 | this.state = { value: '' };
23 | }
24 |
25 | render() {
26 | return (
27 |
28 |
29 |
30 |
31 | )
32 | }
33 | }
34 |
35 | export default TextInput;
36 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.4/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/4.5.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/4.5/4.5.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/components/CardForm.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import TextInput from './TextInput.js'
19 |
20 | class CardForm extends React.Component {
21 |
22 | handleSubmit = (event) => {
23 |
24 | }
25 |
26 | render() {
27 | return (
28 |
34 | );
35 | }
36 | }
37 |
38 | export default CardForm;
39 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 | constructor(props) {
21 | super(props);
22 | this.state = { value: '' };
23 | }
24 |
25 | render() {
26 | return (
27 |
28 |
29 |
30 |
31 | )
32 | }
33 | }
34 |
35 | export default TextInput;
36 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.5/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/components/CardForm.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import TextInput from './TextInput.js'
19 |
20 | class CardForm extends React.Component {
21 | constructor(props) {
22 | super(props);
23 | }
24 |
25 | handleSubmit = (event) => {
26 |
27 | }
28 |
29 | render() {
30 | return (
31 |
37 | );
38 | }
39 | }
40 |
41 | export default CardForm;
42 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 | constructor(props) {
21 | super(props);
22 | this.state = { value: '' };
23 | }
24 |
25 | handleChange = (event) => {
26 | const value = event.target.value;
27 | this.setState({value: value});
28 | }
29 |
30 | render() {
31 | return (
32 |
33 |
34 |
35 |
36 | )
37 | }
38 | }
39 |
40 | export default TextInput;
41 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.6/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/components/CardForm.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import TextInput from './TextInput.js'
19 |
20 | class CardForm extends React.Component {
21 | constructor(props) {
22 | super(props);
23 | this.state = {username: '', message: ''};
24 | }
25 |
26 | handleUsernameChange = (value) => {
27 | this.setState({username: value});
28 | }
29 |
30 | handleMessageChange = (value) => {
31 | this.setState({message: value});
32 | }
33 |
34 | handleSubmit = (event) => {
35 |
36 | }
37 |
38 | render() {
39 | return (
40 |
46 | );
47 | }
48 | }
49 |
50 | export default CardForm;
51 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 | constructor(props) {
21 | super(props);
22 | }
23 |
24 | handleChange = (event) => {
25 | const value = event.target.value;
26 | this.props.onChange(value);
27 | }
28 |
29 | render() {
30 | return (
31 |
32 |
33 |
34 |
35 | )
36 | }
37 | }
38 |
39 | export default TextInput;
40 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.7/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/4.8.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/4.8/4.8.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/4.8/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.6.3",
7 | "react": "^16.8.6",
8 | "react-dom": "^16.8.6",
9 | "react-select": "^2.4.3"
10 | },
11 | "devDependencies": {
12 | "react-scripts": "3.0.1"
13 | },
14 | "scripts": {
15 | "start": "react-scripts start",
16 | "build": "react-scripts build",
17 | "test": "react-scripts test --env=jsdom",
18 | "eject": "react-scripts eject"
19 | },
20 | "eslintConfig": {
21 | "extends": "react-app"
22 | },
23 | "browserslist": {
24 | "production": [
25 | ">0.2%",
26 | "not dead",
27 | "not op_mini all"
28 | ],
29 | "development": [
30 | "last 1 chrome version",
31 | "last 1 firefox version",
32 | "last 1 safari version"
33 | ]
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.6.3",
7 | "react": "^16.8.6",
8 | "react-dom": "^16.8.6",
9 | "react-select": "^2.4.3"
10 | },
11 | "devDependencies": {
12 | "react-scripts": "3.0.1"
13 | },
14 | "scripts": {
15 | "start": "react-scripts start",
16 | "build": "react-scripts build",
17 | "test": "react-scripts test --env=jsdom",
18 | "eject": "react-scripts eject"
19 | },
20 | "eslintConfig": {
21 | "extends": "react-app"
22 | },
23 | "browserslist": {
24 | "production": [
25 | ">0.2%",
26 | "not dead",
27 | "not op_mini all"
28 | ],
29 | "development": [
30 | "last 1 chrome version",
31 | "last 1 firefox version",
32 | "last 1 safari version"
33 | ]
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | export default Card;
32 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.2/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/5.3.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/5.3/5.3.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.6.3",
7 | "react": "^16.8.6",
8 | "react-dom": "^16.8.6",
9 | "react-select": "^2.4.3"
10 | },
11 | "devDependencies": {
12 | "react-scripts": "3.0.1"
13 | },
14 | "scripts": {
15 | "start": "react-scripts start",
16 | "build": "react-scripts build",
17 | "test": "react-scripts test --env=jsdom",
18 | "eject": "react-scripts eject"
19 | },
20 | "eslintConfig": {
21 | "extends": "react-app"
22 | },
23 | "browserslist": {
24 | "production": [
25 | ">0.2%",
26 | "not dead",
27 | "not op_mini all"
28 | ],
29 | "development": [
30 | "last 1 chrome version",
31 | "last 1 firefox version",
32 | "last 1 safari version"
33 | ]
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | const tagElements = props.tags.map((tag, index) =>
23 |
24 | {tag.value}
25 |
26 | )
27 | return (
28 |
29 |
30 |
31 |
32 |
33 | {tagElements}
34 |
35 | );
36 | }
37 |
38 | export default Card;
39 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/5.3/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/6.1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/6.1/6.1.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.5.3",
7 | "react": "^16.8.6",
8 | "react-dom": "^16.8.6",
9 | "react-select": "^2.4.3",
10 | "react-datepicker": "^2.5.0"
11 | },
12 | "devDependencies": {
13 | "react-scripts": "0.9.5"
14 | },
15 | "scripts": {
16 | "start": "react-scripts start",
17 | "build": "react-scripts build",
18 | "test": "react-scripts test --env=jsdom",
19 | "eject": "react-scripts eject"
20 | },
21 | "eslintConfig": {
22 | "extends": "react-app"
23 | },
24 | "browserslist": {
25 | "production": [
26 | ">0.2%",
27 | "not dead",
28 | "not op_mini all"
29 | ],
30 | "development": [
31 | "last 1 chrome version",
32 | "last 1 firefox version",
33 | "last 1 safari version"
34 | ]
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | const tagElements = props.tags.map((tag, index) =>
23 |
24 | {tag.value}
25 |
26 | )
27 | return (
28 |
29 |
30 |
31 |
32 |
33 | {tagElements}
34 |
35 | );
36 | }
37 |
38 | export default Card;
39 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/6.2.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/6.2/6.2.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.5.3",
7 | "react": "^16.8.6",
8 | "react-dom": "^16.8.6",
9 | "react-datepicker": "^2.5.0",
10 | "react-select": "^2.4.3"
11 | },
12 | "devDependencies": {
13 | "react-scripts": "0.9.5"
14 | },
15 | "scripts": {
16 | "start": "react-scripts start",
17 | "build": "react-scripts build",
18 | "test": "react-scripts test --env=jsdom",
19 | "eject": "react-scripts eject"
20 | },
21 | "eslintConfig": {
22 | "extends": "react-app"
23 | },
24 | "browserslist": {
25 | "production": [
26 | ">0.2%",
27 | "not dead",
28 | "not op_mini all"
29 | ],
30 | "development": [
31 | "last 1 chrome version",
32 | "last 1 firefox version",
33 | "last 1 safari version"
34 | ]
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | const tagElements = props.tags.map((tag, index) =>
23 |
36 | );
37 | }
38 |
39 | export default Card;
40 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/6.2/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/7.1.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/solutions/7.1/7.1.PNG
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.5.3",
7 | "highcharts": "5.0.11",
8 | "moment": "^2.24.0",
9 | "react": "^16.8.6",
10 | "react-dom": "^16.8.6",
11 | "react-datepicker": "^2.5.0",
12 | "react-select": "^2.4.3"
13 | },
14 | "devDependencies": {
15 | "react-scripts": "0.9.5"
16 | },
17 | "scripts": {
18 | "start": "react-scripts start",
19 | "build": "react-scripts build",
20 | "test": "react-scripts test --env=jsdom",
21 | "eject": "react-scripts eject"
22 | },
23 | "eslintConfig": {
24 | "extends": "react-app"
25 | },
26 | "browserslist": {
27 | "production": [
28 | ">0.2%",
29 | "not dead",
30 | "not op_mini all"
31 | ],
32 | "development": [
33 | "last 1 chrome version",
34 | "last 1 firefox version",
35 | "last 1 safari version"
36 | ]
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/components/Card.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import User from './User';
19 | import Message from './Message';
20 |
21 | const Card = (props) => {
22 | const tagElements = props.tags.map((tag, index) =>
23 |
36 | );
37 | }
38 |
39 | export default Card;
40 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/components/Message.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Message = (props) => {
20 | return (
21 |
22 |
{props.text}
23 |
24 | );
25 | }
26 |
27 | export default Message;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/components/TextInput.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | class TextInput extends React.Component {
20 |
21 | handleChange = (event) => {
22 | const value = event.target.value;
23 | this.props.onChange(value);
24 | }
25 |
26 | render() {
27 | return (
28 |
29 |
30 |
31 |
32 | )
33 | }
34 | }
35 |
36 | export default TextInput;
37 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/components/Title.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const Title = () => {
20 | return (
21 |
22 |
Cards
23 |
Share your ideas
24 |
25 | );
26 | }
27 |
28 | export default Title;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/components/User.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const User = (props) => {
20 | return (
21 |
22 |
23 |
{props.name}
24 |
25 | );
26 | }
27 |
28 | export default User;
29 |
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/data/jane_posts.json:
--------------------------------------------------------------------------------
1 | {
2 | "data" : [3.9, 4.2, 5.7, 8.5, 27.9, 19.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
3 | }
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/data/john_posts.json:
--------------------------------------------------------------------------------
1 | {
2 | "data" : [2.0, 4.9, 9.5, 14.5, 3.2, 21.5, 15.2, 8.5, 9.3, 18.3, 13.9, 9.6]
3 | }
--------------------------------------------------------------------------------
/techCurriculum/ui/solutions/7.1/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import App from './App';
20 | import './stylesheet.css';
21 |
22 | ReactDOM.render(
23 | ,
24 | document.getElementById('root')
25 | );
26 |
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/cards-app/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 |
6 | # testing
7 | /coverage
8 |
9 | # production
10 | /build
11 |
12 | # misc
13 | .DS_Store
14 | .env
15 | .vscode/
16 | npm-debug.log*
17 | yarn-debug.log*
18 | yarn-error.log*
19 |
20 |
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/cards-app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cards-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "create-react-class": "^15.5.3",
7 | "highcharts": "5.0.11",
8 | "moment": "^2.24.0",
9 | "react": "^16.8.6",
10 | "react-dom": "^16.8.6",
11 | "react-datepicker": "^2.5.0",
12 | "react-select": "^2.4.3"
13 | },
14 | "devDependencies": {
15 | "react-scripts": "0.9.5"
16 | },
17 | "scripts": {
18 | "start": "react-scripts start",
19 | "build": "react-scripts build",
20 | "test": "react-scripts test --env=jsdom",
21 | "eject": "react-scripts eject"
22 | },
23 | "eslintConfig": {
24 | "extends": "react-app"
25 | },
26 | "browserslist": {
27 | "production": [
28 | ">0.2%",
29 | "not dead",
30 | "not op_mini all"
31 | ],
32 | "development": [
33 | "last 1 chrome version",
34 | "last 1 firefox version",
35 | "last 1 safari version"
36 | ]
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/cards-app/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/goldmansachs/EngineeringEssentials/108c6a8eeafd129eea491cd3ee805812a510d191/techCurriculum/ui/starter_code/cards-app/public/favicon.ico
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/cards-app/src/App.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 |
19 | const App = () => {
20 | return (
21 |
22 |
Hello World 2
23 |
24 | );
25 | }
26 |
27 | export default App;
28 |
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/cards-app/src/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | import React from 'react';
18 | import ReactDOM from 'react-dom';
19 | import './stylesheet.css';
20 |
21 | ReactDOM.render(
22 |
Hello World
,
23 | document.getElementById('root')
24 | );
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/cards-app/src/stylesheet.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2019 Goldman Sachs.
3 | * Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing,
10 | * software distributed under the License is distributed on an
11 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12 | * KIND, either express or implied. See the License for the
13 | * specific language governing permissions and limitations
14 | * under the License.
15 | **/
16 |
17 | body {
18 | margin: 0;
19 | padding: 20px;
20 | font-family: 'Roboto Condensed';
21 | }
22 |
23 | .user p {
24 | margin-bottom: 0px;
25 | text-align: center;
26 | }
27 |
28 | .user i {
29 | font-size: 5em;
30 | }
31 |
32 | .message-text {
33 | font-size: 24px;
34 | }
35 |
36 | .card {
37 | display: flex;
38 | width: 500px;
39 | background-color: #eee;
40 | padding: 20px;
41 | margin: 15px;
42 | }
43 |
44 | .card-main {
45 | margin-left: 30px;
46 | flex: 1; /* Stretch horizontally to fill containing card */
47 | display: flex; /* Flexbox with vertical children */
48 | flex-direction: column;
49 | }
50 |
51 | .card-main > .message-text {
52 | /* Any extra vertical space in a card goes to the message */
53 | flex: 1;
54 | }
55 |
56 | .card-buttons {
57 | /* Align buttons to the right */
58 | margin-left: auto;
59 | }
60 |
61 | #app-body {
62 | display: flex;
63 | }
64 |
65 | #left-panel {
66 | margin-right: 40px;
67 | }
68 |
69 | #tag {
70 | max-height: 20px;
71 | }
72 |
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/data/jane_posts.json:
--------------------------------------------------------------------------------
1 | {
2 | "data" : [3.9, 4.2, 5.7, 8.5, 27.9, 19.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
3 | }
--------------------------------------------------------------------------------
/techCurriculum/ui/starter_code/data/john_posts.json:
--------------------------------------------------------------------------------
1 | {
2 | "data" : [2.0, 4.9, 9.5, 14.5, 3.2, 21.5, 15.2, 8.5, 9.3, 18.3, 13.9, 9.6]
3 | }
--------------------------------------------------------------------------------