# Node.js Workshop ## 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. ## 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) - 👋 Introduction - 📦 Modules - 👩‍💻 Exercise: Modules - 📇 NPM ### Tuesday, 20.04., 13:30 - 16:45 (4) - 📞 Callbacks - 👩‍💻 Exercise: Callback - 🏒 EventEmitter - 👩‍💻 Exercise: EventEmitter - 🛶 Streams - 👩‍💻 Exercise: Streams ### Monday, 26.04, 09:00 - 11:30 (3) - 🥁 Promises - 👩‍💻 Exercise: Promise - 😻 async/await - 👩‍💻 Exercise: async/await ### Tuesday, 11.05., 09:00 - 11:30 (3) - 💻 HTTP - 👩‍💻 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