README.md 2.69 KB
Newer Older
Michael Jaser's avatar
Michael Jaser committed
1
2
# Node.js Workshop

Susanne Raml's avatar
Susanne Raml committed
3
4
5
6
7
## Fullstack Development (FH Course)
The node workshop is part of the FH lecture Fullstack Development.
This is the cloned repo from the workshop to fullfill all the exercises within the workshop.
Text below is the given Setup und Structure.

Michael Jaser's avatar
Michael Jaser committed
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
## Setup

1. Install a version of [git](https://git-scm.com/), if you do not already have it.
2. Install the latest version of [Node.js](https://nodejs.org/en/).
3. Install your Editor of Choice. We recommend [VSCode](https://code.visualstudio.com/).
4. Clone the repo and install all dependencies
    ```bash
    # 1. Clone the repository
    git clone https://workshop-fhs-fullstack:salzburg-node-2021@gitlab.peerigon.com/workshops/fhs-fullstack-development-node-ss2021.git

    # 2. Go to the workshop folder
    cd fhs-fullstack-development-node-ss2021/node

    # 3. Install the dependencies via npm
    npm install
    ```

## Folders

- `/orga`: Slides for the welcome part of the workshop
- `/node`: Slides and exercises for the actual node workshop
- `/javascript`: Optional slides and exercises for JavaScript

## Scripts

After the setup, you can execute various scripts in the `/node` folder:

-   `npm run serve`: Starts a web server, where you can access the slides in your browser.
-   Run tests for exercises with the following commands:
    -   `npm run exercise:functions`
    -   `npm run exercise:standard-lib`
    -   `npm run exercise:modules-cjs`
    -   `npm run exercise:modules-esm`
    -   `npm run exercise:modules-interop`
    -   `npm run exercise:event-emitter`
    -   `npm run exercise:streams`
    -   `npm run exercise:promises`
    -   `npm run exercise:async-await`
    -   `npm run exercise:typescript`
    -   `npm run exercise:api:rest`
    -   `npm run exercise:api:graphql`

## Agenda

This is a rough agenda for the planned content.  
It can be adjusted depending on the progression pace of the workshop.

### Wednesday 14.04, 09:00 - 11:30 (3)
Michael Jaser's avatar
Michael Jaser committed
56
57
58
59
60
61

- 👋 Introduction
- 📦 Modules
- 👩‍💻 Exercise: Modules
- 📇 NPM 

Michael Jaser's avatar
Michael Jaser committed
62
### Tuesday, 20.04., 13:30 - 16:45 (4)
Michael Jaser's avatar
Michael Jaser committed
63
64
65
66
67
68
69
70

- 📞 Callbacks
- 👩‍💻 Exercise: Callback
- 🏒 EventEmitter
- 👩‍💻 Exercise: EventEmitter
- 🛶 Streams
- 👩‍💻 Exercise: Streams

Michael Jaser's avatar
Michael Jaser committed
71
### Monday, 26.04, 09:00 - 11:30 (3)
Michael Jaser's avatar
Michael Jaser committed
72
73
74
75
76
77

- 🥁 Promises
- 👩‍💻 Exercise: Promise
- 😻 async/await
- 👩‍💻 Exercise: async/await

Michael Jaser's avatar
Michael Jaser committed
78
### Tuesday, 11.05., 09:00 - 11:30 (3)
Michael Jaser's avatar
Michael Jaser committed
79
80

- 💻 HTTP
Michael Jaser's avatar
Michael Jaser committed
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
- 👩‍💻 Exercise: HTTP

## Possible Topics

- ✅ Node.js Introduction
- ✅ Modules
- ✅ Package managers
- Node with TypeScript
- ✅ Callbacks
- ✅ EventEmitter
- ✅ Streams
- ✅ Promises
- ✅ HTTP
- Writing APIs
- Error handling
- Databases
- Testing
- Debugging
- Env handling
- Deployment
- Ecosystem overview

Michael Jaser's avatar
Michael Jaser committed
103