Skip to content

Commit

Permalink
day 20 has been published
Browse files Browse the repository at this point in the history
  • Loading branch information
Asabeneh committed Oct 19, 2020
1 parent ae8dc53 commit e973de3
Show file tree
Hide file tree
Showing 16 changed files with 13,182 additions and 5 deletions.
15 changes: 11 additions & 4 deletions 18_Fetch_And_Axios/18_fetch_axios.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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 ! 🎉

Expand Down
38 changes: 38 additions & 0 deletions 20_projects/20_projects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<div align="center">
<h1> 30 Days Of React: Projects</h1>
<a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/">
<img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social">
</a>
<a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh">
<img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social">
</a>

<sub>Author:
<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br>
<small> October, 2020</small>
</sub>

</div>

[<< 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>>]()
23 changes: 23 additions & 0 deletions 20_projects/20_projects_boilerplate/.gitignore
Original file line number Diff line number Diff line change
@@ -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*
5 changes: 5 additions & 0 deletions 20_projects/20_projects_boilerplate/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 30 Days of React App: Day 17

In the project directory, you can run to start the project

### `npm start`
34 changes: 34 additions & 0 deletions 20_projects/20_projects_boilerplate/package.json
Original file line number Diff line number Diff line change
@@ -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"
]
}
}
111 changes: 111 additions & 0 deletions 20_projects/20_projects_boilerplate/public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
href="https://fonts.googleapis.com/css?family=Montserrat:300,400,500|Roboto:300,400,500&display=swap"
rel="stylesheet"
/>
<meta
name="description"
content="Web site created using create-react-app"
/>

<title>30 Days Of React App</title>
<style>

/* == General style === */

* {
box-sizing: border-box;
padding: 0;
margin: 0;
}

html,
body {
height: 100%;
line-height: 1.5;
font-family: 'Montserrat';
font-weight: 300;
color: black;
}

.root {
min-height: 100%;
position: relative;
}

.header-wrapper,
.main-wrapper,
.footer-wrapper {
width: 85%;
margin: auto;
}

.header-wrapper,
.main-wrapper {
padding: 10px;
margin: 2px auto;
}

h1 {
font-size: 70px;
font-weight: 300;
}

h2,
h3 {
font-weight: 300;
}

header {
background-color: #61dbfb;
padding: 25;
padding: 10px;
}

main {
padding: 10px;
padding-bottom: 60px;
/* Height of the footer */
}

ul {
margin-left: 15px;
}

ul li {
list-style: none;
}

footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;
/* Height of the footer */
background: #6cf;
}

.footer-wrapper {
font-weight: 400;
text-align: center;
line-height: 60px;
}
.user-card {
margin-top: 10px;
}
.user-card > img {
border-radius: 50%;
width: 14%;
}

</style>

</head>
<body>
<div id="root"></div>
</body>
</html>
Loading

0 comments on commit e973de3

Please sign in to comment.