Skip to content

Commit 2e259cb

Browse files
committed
Write exercise #5
1 parent 5a88c9d commit 2e259cb

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

5/README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
2+
# Exercise \#5
3+
4+
Learn how to use graphql-middlewares and start programming with NuxtJS.
5+
6+
**Deadline is January 8th, 2020**
7+
8+
1. Optional tasks of exercise #3 are now required: Implement a permission
9+
layer around your app. Use [graphql-shield](https://github.com/maticzav/graphql-shield)
10+
and [graphql-middleware](https://github.com/prisma-labs/graphql-middleware).
11+
Here is some inspiration how your test cases could look like:
12+
![Test cases for a permission layer](../3/permissions.png)
13+
2. Create a NuxtJS app and write a couple of different page components. Your
14+
page component should have some level of nesting. Like `/nested.vue`,
15+
`/nested/index.vue` and `/nested/_id.vue`.
16+
3. Connect your frontend with your backend via [apollo-module](https://github.com/nuxt-community/apollo-module).
17+
So if you update a data object in your frontend, it sends a graphql mutation
18+
to the backend.
19+
4. Make use of apollo-module's [authentication helpers](https://github.com/nuxt-community/apollo-module#authentication)
20+
and have at least one page component which requires authentication.
21+
5. Refactor your backend and frontend to show something different than just
22+
todos and users. Be creative.
23+
6. Do a remote pair-programming session. You can choose any pairing partner,
24+
either from our course or you can also ask our open-source community.
25+
7. Record your pair-programming session and publish it. Choose any software you
26+
want. If you don't like being on the web, disable your webcam and save the
27+
video as "unlisted". I recommend [PeerTube](https://joinpeertube.org/) to
28+
host the video but there is also this commercial platform called YouTube as
29+
an alternative. Send a link to your recorded video to [email protected].
30+
8. Write backend and frontend tests. Mock `this.$apollo` in your frontend tests
31+
and respond with some mocked data or simulate an error.
32+
9. Request a review from @roschaefer.
33+
10. Request a review from sb. else.
34+
35+
### Teaching goal
36+
37+
The point of exercise 3. and 4. is to socialize and see how easy it is to find
38+
people from around the world who like to program with you and learn with you.
39+
Even a recording of a pairing session can be interesting learning material.
40+
Think of people who don't have access to public education, e.g. studying at a
41+
university like you do.
42+
43+
Also, if you get stuck, people can help out. Often, developers wait for too long
44+
before they ask for help. It causes a lot of frustration and this particular
45+
situation happened for a team while working on exercise \#3. Asking for help in
46+
our community chat is quick and usually there is always somebody around who can
47+
help out: https://human-connection.org/discord
48+
49+
50+
If you copy code from other groups, please give credit to them in your commit
51+
messages.

0 commit comments

Comments
 (0)