You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: legacy/javascript/homework-projects/README.md
-13Lines changed: 0 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,8 @@
4
4
5
5
During the JS2 and JS3 modules, you will be working on a project instead of the usual weekly homework assignments (which you can still do, as optional practice). Each week, you will be required to add new features to your project. By the end of JS3, you will have built an actual app using your newly gained knowledge and coding skills!
6
6
7
-
8
7

9
8
10
-
11
9
## WHY
12
10
13
11
We're doing this for four main reasons:
@@ -17,7 +15,6 @@ We're doing this for four main reasons:
17
15
- You will build a solid project for your portfolio that you can showcase on your CV and in future tech interviews!
18
16
- You will gain experience presenting your project and code in a 'mini-tech interview' at the end of JS3.
@@ -29,32 +26,22 @@ We're doing this for four main reasons:
29
26
> [!NOTE]
30
27
> New projects are welcome to be added by mentors. Just follow a similar structure to the existing ones, and submit it as a PR for review by staff and other mentors.
31
28
32
-
33
-
34
29
## HOW
35
30
36
31
The projects will either be worked on individually, in a pair or as a group. You may also be set up to peer review another's project. This is up to the staff and mentors running the module.
37
32
38
-
39
-
40
33
First, you will pick a project idea from above. Each week, you will have specific tasks that you have to deliver. Those tasks are provided in your chosen project description. The tasks are designed to help you practice the main learning points throughout the JS2 and JS3 modules.
41
34
42
-
43
-
44
35
You will work in your project repository for JS2 and JS3 (not the central homework repository!), and you will submit the weekly task in the usual way by creating a Pull Request.
45
36
46
37
During JS2 and JS3, refer to the relevant [homework submission guide](guides/weekly-submission-guide.md).
47
38
48
39
The main difference is that you will be on a different repository and that you will merge the PR after implementing the review-based improvements, while all the technical steps are the same as always.
49
40
50
-
51
-
52
41
## DEPLOYMENT
53
42
54
43
So you can demo your project easily both at the end of the project, but also to future employers, it is a requirement that you deploy the project. You can use the [HackYourFuture project template](https://github.com/HackYourFuture-CPH/hyf-project-template) as a starting point, or an otherwise agreed upon process by the staff and mentors.
55
44
56
-
57
-
58
45
## CONCLUSION
59
46
60
47
When you wrap up your project in JS3 week3, you will get a chance to present your project either as a video recording or on a demo day. If your team is hosting a demo day, then check out [this guide](guides/demo-day-presentation.md) for how to prepare for the presentation.
Copy file name to clipboardExpand all lines: legacy/javascript/homework-projects/guides/weekly-submission-guide.md
+11-38Lines changed: 11 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,11 +12,6 @@
12
12
-[ ] stay patient. Slack, Google and ChatGPT are your best friends now.
13
13
-[ ] make the changes as per PR review in the appropriate branch, push the changes to the appropriate branch and merge the PR.
14
14
15
-
<br/>
16
-
17
-
<hr>
18
-
<hr>
19
-
20
15
## Before you start the project
21
16
22
17
- Create a public project repository in your GitHub account (choose the option to add README.md).
@@ -25,70 +20,48 @@
25
20
## Before you start your homework
26
21
27
22
1. You are probably opening your project repo on the last weeks branch - make sure that any changes you have there are either committed and pushed, or stashed, or discarded - whatever you prefer. The point is to be mindful that:
28
-
<br/> - you are most probably starting on a branch you last worked with, that is how VS Code works,
29
-
<br/> - and there might be changes that you have not handled last time.
30
-
<br/> - if you are about to start a new homework, you need to go to `main` first.
31
23
32
-
<br/>
24
+
- you are most probably starting on a branch you last worked with, that is how VS Code works,
25
+
- and there might be changes that you have not handled last time.
26
+
- if you are about to start a new homework, you need to go to `main` first.
33
27
34
28
2. Checkout to `main` and pull the latest changes from it. If you skip this step, you will get in trouble sooner or later.
35
29
36
-
<br/>
37
-
38
30
3. Checkout to your new homework branch, following the branch naming convention of `module-week/yourname`.
39
31
See [allowed branch name prefixes](#allowed-branch-name-prefixes).
40
32
41
-
<br/>
42
33
❗ Always firstly checkout to the new homework branch from an updated `main`. Always.
1. Implement your homework. Be mindful of structuring and naming. Make sure you complete all the tasks listed for that week in your project description.
65
52
66
-
<br/>
67
-
68
53
2. Verify that your branch name is right. Commit and push your homework to the repository. If the branch name is not right, you can commit and checkout to a new, correct branch from the current branch - you will carry all the commits with you. Then you can push.
69
54
70
-
<br/>
71
-
72
55
3. Go to your project repository and create a Pull Request from your weekly homework branch to `main`.
73
56
74
-
<br/>
75
-
76
57
4. Post the link to the PR to your class channel and celebrate with your classmates! 🎉 💃🏽 🕺🏾 🥳
77
58
78
-
<br/>
79
-
80
59
## After submitting your homework
81
60
82
61
1. Follow the PR to see the review and interact with the reviewer as well as make the suggested changes.
83
62
84
-
<br/>
85
-
86
63
2. When you have made changes to the code since the homework submission and review, push the changes and merge the PR.
87
64
88
-
<br/>
89
-
90
65
3. Update your local `main` with the merged changes in the remote `main`.
91
66
92
-
<br/>
93
-
94
67
4. Take a moment to celebrate your progress and be proud of your learning!
-[ ] Implement a timeout to show an announcement when the market open or/and close. The market opens at 9AM and closes at 5PM local time.
@@ -76,35 +72,24 @@ Continue with the format of the object you used last week or improve it and refa
76
72
a. Implement a watcher to periodically check a specific currency conversion and alert the user when the value reaches a speicfic point. Let's say the user is interested in converting USD to Danish kroner but the rate today is very bad, 1 USD is 5 DKK. We wan to alert the user when 1 USD is 7 DKK so the user can convert with maximum gain
77
73
b. Watch currency updates and show a banner with the hotest currency exchange rate. I.e., currency conversion reaching the double value.
78
74
79
-
---
80
-
81
75
### `JS3 week1` - Json, Apis, Fetch
82
76
83
77
-[ ] Follow the [API creation guide](/homework-projects/guides/making-your-API-guide.md) to make your own API that you will use from now on.
84
78
-[ ] Refactor your code so that you use the currency rates dynamically from your API instead of the static array of objects.
85
79
-[ ] Implement functionality to search for a specific currency.
86
80
-[ ] Ensure all the functionality is working smoothly after refactoring.
87
81
88
-
---
89
-
90
82
### `JS3 week2` - Promises, Async/Await
91
83
92
84
-[ ] You used promise chaining last week - now rewrite the fetch in the "async await" approach.
93
85
-[ ] Testing. Implement a test to ensure that the application will work as expected after the refactoring.
94
86
95
-
---
96
-
97
87
### `JS3 week3` - Classes, Revision and Presentation of projects
98
88
99
89
-[ ] Rest, revise JS fundamentals, finish, and brush up your project, prepare to present and explain it.
100
90
-[ ] Make improvements to the style or functionality or add additional functionality.
101
91
-[ ] Prepare to showcase your project to external people, talk through your code and explain what you have implemented.
Copy file name to clipboardExpand all lines: legacy/javascript/homework-projects/projects/memory-game/memory-game.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,8 @@
2
2
3
3

4
4
5
-
You joined an online game platform startup and your task is to build one of the small classic games. <br/>
5
+
You joined an online game platform startup and your task is to build one of the small classic games.
6
+
6
7
You will build a Memory Game, where a user needs to flip all the cards in a game in pairs until they find all the matching pairs. You aspire to make the game smooth and pleasant, so the user is compelled to spend more time playing it.
-[ ] add inputs for 2 player names and a button to start a quiz. When the quiz starts, player names are displayed with their collected points (0 to begin with).
@@ -65,7 +61,6 @@ b. add number inputs for the player points and use the browser's arrow buttons o
65
61
66
62
-[ ] optional bonus: play a sound and end the quiz game when one of the players has reached 10 points.
67
63
68
-
69
64
### `JS3 week1` - Json, Apis, Fetch
70
65
71
66
-[ ] follow the [API creation guide](/homework-projects/guides/making-your-API-guide.md) to make your own API that you will use from now on.
@@ -76,8 +71,6 @@ b. add number inputs for the player points and use the browser's arrow buttons o
76
71
77
72
-[ ] add alphabetical sorting of the questions and random sorting of the questions and let the user choose.
78
73
79
-
80
-
81
74
### `JS3 week2` - Promises, Async/Await
82
75
83
76
-[ ] you used promise chaining last week - now rewrite the fetch in the "async await" approach.
0 commit comments