Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 75e18eb

Browse files
author
Noer Paanakker
committed
wrote more content for week 1, added tutorials for code along
1 parent 5b7edc9 commit 75e18eb

File tree

4 files changed

+36
-107
lines changed

4 files changed

+36
-107
lines changed

Week1/MAKEME.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515

1616
## **3. Code along**
1717

18+
Now that you've learned about APIs and how to connect with them, let's apply it in the context of a complete application.
19+
20+
In
21+
22+
- [Vanilla JS Numbers Facts App - AJAX & Fetch](https://www.youtube.com/watch?v=tUE2Nic21BA)
23+
- [Build a JavaScript & jQuery Movie Info App](https://www.youtube.com/watch?v=YsPqjYGauns)
24+
1825
## **4. PROJECT: Hack Your Repo I**
1926

2027
> In this assignment you will built upon some existing code that is already pre-written by your teachers. Your homework consist of writing the code to make the application work as requested per week.

Week1/README.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,16 @@ These are the topics for week 1:
1111
- XMLHttpRequest (XHR)
1212
- What is JSON?
1313
3. jQuery
14-
- What's a module/package?
14+
- What's a module?
1515
- What's a library?
1616
- Using jQuery to make AJAX requests
1717

1818
## 1. Application Programming Interface (API)
1919

20+
An Application Programming Interface, or API for short, is
21+
22+
You can think of APIs in the following manner: Imagine you want to rent out a room in your house through Airbnb.
23+
2024
- [What are APIs - series](https://www.youtube.com/watch?v=cpRcK4GS068&list=PLcgRuP1JhcBP8Kh0MC53GH_pxqfOhTVLa)
2125

2226
### Public/private APIs
@@ -41,20 +45,40 @@ It's because the HackYourFuture website sends an **API call** to Mollie. The req
4145

4246
> Anytime a request to an API is made this is called an `API call`. However, in practice people use different terms for the same thing. Synonyms for `API call` are `API request`, `Network call/request` or`HTTP call/request`. Which do you prefer?
4347
48+
For further study of how to make API calls, check out the following resources:
49+
4450
- [Working with APIs in JavaScript](https://www.youtube.com/watch?v=ecT42O6I_WI)
4551
- [Making HTTP Requests in JavaScript](https://www.kirupa.com/html5/making_http_requests_js.htm)
4652

4753
## 2. Asynchronous JavaScript and XML (AJAX)
4854

55+
AJAX is the idea that data can be loaded into a webpage without refreshing the entire website.
56+
4957
### XMLHttpRequests (XHR)
5058

5159
- [XMLHttpRequest](../../../../fundamentals/blob/master/fundamentals/XMLHttpRequest.md)
5260
- [AJAX Crash Course](https://www.youtube.com/watch?v=82hnvUYY6QA)
5361

5462
## 3. jQuery
5563

56-
### What's a module/package?
64+
### What's a module?
65+
66+
A `module` is a part of a program that contains one or more functionalities. For example, a single function that has only 1 job could be considered a module. When developing applications you'll always be writing multiple functionalities in order for your software to work as expected. These can be written all in one file, and it would fine. The browser/operating system would be able to interpret and execute it anyway. But for you, the human, it's very hard to keep overview of what is happening at what level of the application.
67+
68+
In order to keep a better overview, we can choose to **modularize** our application: split it up into smaller parts that, in theory, all work independently.
69+
70+
However, creating better overview is not the only reason. Among other reasons, modules make a developer's job easy by:
71+
72+
- Allowing the them to focus on only one area of the functionality of the software application
73+
- Isolating individual blocks of code, in case anything breaks
74+
- Encouraging the developer to write code in a way that makes it reusable
75+
76+
For more information about this, go through the following:
77+
78+
- [JavaScript Modules: From IIFEs to CommonJS to ES6 Modules](https://www.youtube.com/watch?v=qJWALEoGge4)
5779

5880
### What's a library?
5981

6082
### Using jQuery to make AJAX requests
83+
84+
One of the most well-known and often used libraries in JavaScript is called `jQuery`. It's a library that was designed to make DOM manipulation, as well as event handling, CSS animation and AJAX operations much easier to perform.

Week2/MAKEME.md

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,6 @@
1717

1818
## **4. PROJECT: Hack Your Repo II**
1919

20-
# Homework Week 2
21-
22-
```
23-
Topics discussed this week:
24-
• Async vs Sync
25-
• Event Loop (order of execution)
26-
• Promises
27-
```
28-
29-
## Step 1: Read
30-
31-
- Read this article on scopes & closures: [explaining-javascript-scope-and-closures](https://robertnyman.com/2008/10/09/explaining-javascript-scope-and-closures/)
32-
33-
- If you are still not completely clear on promises, here are some additional resources :ring:
34-
35-
- [Google's post about Promises](https://developers.google.com/web/fundamentals/getting-started/primers/promises)
36-
- [A nice article from David Walsh](https://davidwalsh.name/promises)
37-
- [A real life example](https://github.com/mdn/js-examples/blob/master/promises-test/index.html)
38-
- [stackoverflow](http://stackoverflow.com/questions/13343340/calling-an-asynchronous-function-within-a-for-loop-in-javascript)
39-
- YouTube: [promises](https://www.youtube.com/watch?v=WBupia9oidU)
40-
41-
## Step 2: Implement requested PR changes
42-
43-
- Fix Requested Changes (if any) on the Pull Request.
44-
45-
## Step 3: Convert callbacks to promises
46-
47-
**_Deadline Thursday_**
48-
49-
### 3.1 Preparation
50-
5120
The homework for week 2 will build on the work you did in week 1. You will create a new branch based on the `week1` branch.
5221

5322
1. Make sure that you committed all changes in the week 1 version of your homework.
@@ -61,31 +30,10 @@ The homework for week 2 will build on the work you did in week 1. You will creat
6130

6231
You will continue to work on the files `index.js` and (possibly) `style.css`.
6332

64-
- Complete your GitHub app code from the previous week, if needed, to meet the requirements from that week's assignment.
6533
- Replace all asynchronous callbacks (e.g. as used with XMLHttpRequest) by ES6 promises.
6634
- Beautify your app's styling.
6735
- If not yet completed in week 1, make your app responsive (use CSS media queries and [Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)).
6836

69-
### 3.3 Handing in your homework
70-
71-
If necessary, review the instructions how to [Hand in homework](https://github.com/HackYourFuture/fundamentals/blob/master/fundamentals/homework_pr.md) using GitHub pull request.
72-
73-
To test whether your code will be accepted when you submit your homework as a pull request you need to ensure that it does not contain ESLinr errors. Open a terminal window in VSCode and type the following command:
74-
75-
```
76-
npm test
77-
```
78-
79-
If any errors or warnings are reported by this command you need to fix them before submitting a pull request.
80-
81-
In addition, check for the following:
82-
83-
- Have you removed all commented out code (should never be present in a PR)?
84-
- Do the variable, function and argument names you created follow the [Naming Conventions](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md)?
85-
- Is your code well-formatted (see [Code Formatting](../../../../fundamentals/blob/master/fundamentals/code_formatting.md))?
86-
87-
If the answer is 'yes' to the preceding questions you are ready to follow these instructions:
88-
8937
1. Push your `week2` branch to GitHub:
9038

9139
```
@@ -94,11 +42,4 @@ If the answer is 'yes' to the preceding questions you are ready to follow these
9442

9543
2. Create a pull request for your `week2` branch.
9644

97-
Note:
98-
99-
1. Please remove all redundant, commented-out code and console.log's from your files before pushing your homework as finished. There is no need for your mentors to review this stuff.
100-
2. Please make sure your code is well-formatted and follows the recommended naming conventions.
101-
102-
## Step 4: Read before next lecture
103-
104-
Go through the reading material in the [README.md](../Week3/README.md) to prepare for your next class.
45+
> Note: Please remove all redundant, commented-out code and console.log's from your files before pushing your homework as finished. There is no need for your mentors to review this stuff. Also, please make sure your code is well-formatted and follows the recommended naming conventions.

Week3/MAKEME.md

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -13,58 +13,15 @@
1313

1414
## **3. Code along**
1515

16-
## **4. PROJECT: Hack Your Repo III**
17-
18-
# Homework Week 3
19-
20-
```
21-
Topics discussed this week:
22-
• Object Oriented Programming and ES6 Classes
23-
• The this keyword
24-
• call, apply, bind
25-
```
26-
27-
## Step 1: Fix requested changes
28-
29-
_Deadline Monday_
30-
31-
- Fix Requested Changes (if any) on the Pull Request.
32-
33-
## Step 2
34-
35-
**_Deadline Thursday_**
36-
37-
### 2.1 Preparation
38-
39-
**Read the fundamental pages on:**
16+
- [YouTube API Project with Authentication](https://www.youtube.com/watch?v=r-yxNNO1EI8)
4017

41-
- [try...catch](../../../../fundamentals/blob/master/fundamentals/try_catch.md)
42-
- [async/await](../../../../fundamentals/blob/master/fundamentals/async_await.md)
43-
44-
The homework for week 3 will build on the work you did in week 2. You will create a new branch based on the `week2` branch.
45-
46-
1. Make sure that you committed all changes in the week 2 version of your homework.
47-
2. Create a new `week3` branch:
48-
49-
```
50-
git checkout -b week3
51-
```
52-
53-
### 2.2 Assignment
18+
## **4. PROJECT: Hack Your Repo III**
5419

5520
This week you will work with all JavaScript files in the `src` folder. The assignment consists of two parts:
5621

5722
1. Refactor all `.then()` and `.catch()` methods with `async`/`await` and `try...catch`.
5823
2. Refactor your application to use ES6 classes.
5924

60-
#### 2.2.1 async/await
61-
62-
**Instructions:**
63-
64-
1. Refactor all `.then()` and `.catch()` methods with `async`/`await` and `try...catch`.
65-
66-
2. Make sure that your error handling code still works. See the week2 MAKEME on how to force an error response from GitHub.
67-
6825
#### 2.2.2 ES6 Classes
6926

7027
**_Deadline Saturday_**

0 commit comments

Comments
 (0)