diff --git a/18_Fetch_And_Axios/18_fetch_axios.md b/18_Fetch_And_Axios/18_fetch_axios.md index f1c0399807..c50e6744e6 100644 --- a/18_Fetch_And_Axios/18_fetch_axios.md +++ b/18_Fetch_And_Axios/18_fetch_axios.md @@ -23,7 +23,8 @@ - [Axios](#axios) - [Exercises](#exercises) - [Exercises: Level 1](#exercises-level-1) - - [Exercises: Level 1](#exercises-level-1-1) + - [Exercises: Level 2](#exercises-level-2) + - [Exercises: Level 3](#exercises-level-3) # Fetch and Axios @@ -487,11 +488,17 @@ As you have seen, there is no much difference between fetch and axios. But I rec 5. What is the difference between fetch and axios? 6. Do you prefer fetch to axios for make HTTP requests? -## Exercises: Level 1 +## Exercises: Level 2 1. Find the average metric weight and life span of cats in the following [API](https://api.thecatapi.com/v1/breeds). There are 67 breeds of cats in the API. - - ![Average cat weight and age](../images/average_cat_weight_and_age.png) + +![Average cat weight and age](../images/average_cat_weight_and_age.png) + +## Exercises: Level 3 + +1. How many countries do have cat breeds? +2. Which country has the highest number of cat breeds? +3. Arrange countries in ascending order based on the number of cat breeds they have? đ CONGRATULATIONS ! đ diff --git a/20_projects/20_projects.md b/20_projects/20_projects.md new file mode 100644 index 0000000000..91e2e3df23 --- /dev/null +++ b/20_projects/20_projects.md @@ -0,0 +1,38 @@ +
+ +[<< Day 19](../19_projects/19_projects.md) | [Day 21>>]() + +![30 Days of React banner](../images/30_days_of_react_banner_day_20.jpg) + +- [Projects](#projects) +- [Exercises](#exercises) + - [Exercises: Level 1](#exercises-level-1) + +# Projects + +Congratulations for making it to this far. Now, you have a solid understanding of React. I believe we have covered most important features of React and your are ready to work on projects. What we have covered so far is the old version of React. Starting from Day 20, we will learn React Hooks. In the next three days you will work on projects only. + +# Exercises + +## Exercises: Level 1 + +Use the following two APIs, [all cats](https://api.thecatapi.com/v1/breeds) and [a single cat][https://api.thecatapi.com/v1/images/search?breed_id=abys]. In the single cat API, you can get url property which is the image of the cat. +Your result should look like this [demo](https://thirty-days-of-react-cat.herokuapp.com/day-20). + +đ CONGRATULATIONS ! đ + +[<< Day 19](../19_projects/19_projects.md) | [Day 21>>]() diff --git a/20_projects/20_projects_boilerplate/.gitignore b/20_projects/20_projects_boilerplate/.gitignore new file mode 100644 index 0000000000..4d29575de8 --- /dev/null +++ b/20_projects/20_projects_boilerplate/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/20_projects/20_projects_boilerplate/README.md b/20_projects/20_projects_boilerplate/README.md new file mode 100644 index 0000000000..134ed5494d --- /dev/null +++ b/20_projects/20_projects_boilerplate/README.md @@ -0,0 +1,5 @@ +# 30 Days of React App: Day 17 + +In the project directory, you can run to start the project + +### `npm start` diff --git a/20_projects/20_projects_boilerplate/package.json b/20_projects/20_projects_boilerplate/package.json new file mode 100644 index 0000000000..e04beab324 --- /dev/null +++ b/20_projects/20_projects_boilerplate/package.json @@ -0,0 +1,34 @@ +{ + "name": "30-days-of-react", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^4.2.4", + "@testing-library/react": "^9.3.2", + "@testing-library/user-event": "^7.1.2", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-scripts": "3.4.3" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/20_projects/20_projects_boilerplate/public/index.html b/20_projects/20_projects_boilerplate/public/index.html new file mode 100644 index 0000000000..44fa1f3726 --- /dev/null +++ b/20_projects/20_projects_boilerplate/public/index.html @@ -0,0 +1,111 @@ + + + + + + + + +{formatedCapital}
++ {formatLanguage}: + {languages.map((language) => language.name).join(', ')} +
++ Population: + {population.toLocaleString()} +
++ Currency: + {currency} +
+There are {this.state.data.length} countries in the api
+