{"id":15633257,"url":"https://github.com/goldbergyoni/nodejs-course","last_synced_at":"2025-04-14T07:08:44.683Z","repository":{"id":54824295,"uuid":"120661657","full_name":"goldbergyoni/nodejs-course","owner":"goldbergyoni","description":"Materials, slides and other goodies from my Node.JS courses","archived":false,"fork":false,"pushed_at":"2019-11-27T13:14:06.000Z","size":17733,"stargazers_count":166,"open_issues_count":6,"forks_count":46,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-14T07:08:38.605Z","etag":null,"topics":["api","asynchronous","best-practices","clean-architecture","clean-code","expressjs","javascript","microservice","nodejs","performance","promises","swagger","test-driven-development","testing-framework"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goldbergyoni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-07T19:32:19.000Z","updated_at":"2025-03-23T02:27:19.000Z","dependencies_parsed_at":"2022-08-14T04:00:39.750Z","dependency_job_id":null,"html_url":"https://github.com/goldbergyoni/nodejs-course","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldbergyoni%2Fnodejs-course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldbergyoni%2Fnodejs-course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldbergyoni%2Fnodejs-course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldbergyoni%2Fnodejs-course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goldbergyoni","download_url":"https://codeload.github.com/goldbergyoni/nodejs-course/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837281,"owners_count":21169374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","asynchronous","best-practices","clean-architecture","clean-code","expressjs","javascript","microservice","nodejs","performance","promises","swagger","test-driven-development","testing-framework"],"created_at":"2024-10-03T10:47:50.029Z","updated_at":"2025-04-14T07:08:44.658Z","avatar_url":"https://github.com/goldbergyoni.png","language":"JavaScript","readme":"# Yoni Goldberg - Node.JS Course\n\n\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"git-banner.jpg\" alt=\"Node.js Best Practices\" /\u003e\n\u003c/h1\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/%E2%9A%99%20Students%20So%20Far%20-%20150+%20-blue.svg\" alt=\"150+ Students\"\u003e \u003cimg src=\"https://img.shields.io/badge/%F0%9F%93%85%20Last%20update%20-%20Feb%2015%202018-green.svg\" alt=\"Last update: February 15, 2018\"\u003e \u003cimg src=\"https://img.shields.io/badge/%E2%9C%94%20Updated%20For%20Version%20-%20Node%208.9-brightgreen.svg\" alt=\"Updated for Node v.8.9\"\u003e\n\t\u003c/div\u003e\n\n\u003cbr/\u003e\n\n# Welcome To My Node.JS Course!\nThis repository holds various materials, demos and instructions for my Node.JS course\n\n\n## Preparation\nAs we meet in the classroom we wish to spend our precious time on interesting development challenges rather than machine setup. Make sure to prepare your machine aforehand. Should you encounter any issue - please open an issue within this repo and I'll be sure to assist shortly\n\n### ✔ 1 Install Node.JS LTS\nInstall Node.JS LTS (any 12.0.X version) [from this website](https://nodejs.org/en/) - just download and progress within the installation wizard\n\n\n### ✔ 2 Ensure Node is installed correctly\nOpen your favourite terminal (Windows: command prompt) and type 'NPM verson'. The output should confirm that version (e.g. 12.0) is indeed installed\n\n### ✔ 3 Clone this repo\nRun the command:\n\n```\ngit clone https://github.com/goldbergyoni/nodejs-course/\n```\n\nThen navigate into the project directory and install all depedencies:\n```\nnpm install\n```\n\n\n### ✔ 4 Install IDE (editor)\nI highly recommend using VSCode editor in the course as it's lightweight and has a very rich plugins eco-sysem that we might use during our excercise. Simply visit the [downloads site](https://code.visualstudio.com/download) and choose the edition that suits your operations system. You may opt for any other editor that supports Node debugging and intellisense\n\n\n### ✔ 5 Install POSTMAN\nSome of our excercises require to perform web requests, POSTMAN is a popular client tool for running HTTP requests. [Download page](https://www.getpostman.com/apps)\n\n### ✔ 6 Polish Your JS Skills\nLearning Node requires to be familiar with Javascript. Beside mastering the basic principals of JS, it's recommended to get acquaintance with the following concepts that are highly related to Node.JS:\n\u003cbr/\u003e\n[10 min JavaScript crash course](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics)\n\u003cbr/\u003e\n[Objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects)\n\u003cbr/\u003e\n[Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n\u003cbr/\u003e\n[Async/await](https://javascript.info/async-await)\n\u003cbr/\u003e\n[Arrow functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)\n\u003cbr/\u003e\n[Callbacks](https://developer.mozilla.org/en-US/docs/Glossary/Callback_function)\n\u003cbr/\u003e\n[Classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)\n\u003cbr/\u003e\n[Destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)\n\u003cbr/\u003e\n[Spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax)\n\u003cbr/\u003e\n[The basics of TypeScript](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html)\n\u003cbr/\u003e\n[Express web framework - hello world](https://codeburst.io/getting-started-with-expressjs-3cbb279bd5e6)\n\n\n### ✔ 7 Ensure Familiarity with Backend Concepts\nIt's assumed that all students are familiar with basic web \u0026 backend concepts. For example:\n\u003cbr/\u003e\nRest API\n\u003cbr/\u003e\nCookies\n\u003cbr/\u003e\nHTTP headers\n\u003cbr/\u003e\nJSON\n\n\n## Code Examples\nAll the code examples that we run in the classroom [can be found in this Git repository](https://github.com/i0natan/nodebestpractices/tree/course)\n\n## Slides\nDownload the slides here: \nhttps://github.com/i0natan/nodejs-course/blob/master/node.js%20course%20for%20GitHub.pptx\n\nNote: The slides were meant as complementary material to an onsite course\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoldbergyoni%2Fnodejs-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoldbergyoni%2Fnodejs-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoldbergyoni%2Fnodejs-course/lists"}