{"id":21512048,"url":"https://github.com/strvcom/nodejs-open-knowledge","last_synced_at":"2025-04-09T18:21:59.506Z","repository":{"id":44444855,"uuid":"144545486","full_name":"strvcom/nodejs-open-knowledge","owner":"strvcom","description":"Nodejs Nights autum-winter 2018","archived":false,"fork":false,"pushed_at":"2019-06-24T08:46:01.000Z","size":3416,"stargazers_count":43,"open_issues_count":1,"forks_count":14,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-03-23T20:22:21.579Z","etag":null,"topics":[],"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/strvcom.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-08-13T07:39:25.000Z","updated_at":"2025-01-02T22:43:58.000Z","dependencies_parsed_at":"2022-07-29T01:39:13.669Z","dependency_job_id":null,"html_url":"https://github.com/strvcom/nodejs-open-knowledge","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/strvcom%2Fnodejs-open-knowledge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvcom%2Fnodejs-open-knowledge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvcom%2Fnodejs-open-knowledge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strvcom%2Fnodejs-open-knowledge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strvcom","download_url":"https://codeload.github.com/strvcom/nodejs-open-knowledge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085637,"owners_count":21045191,"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":[],"created_at":"2024-11-23T22:25:51.448Z","updated_at":"2025-04-09T18:21:59.483Z","avatar_url":"https://github.com/strvcom.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction\nThis repository serves as an online course for learning Node.js.\nMade by STRV, it’s here to help those who want to learn more about Node.js and backend to develop a backend API.\n\n#### Goal\nTo give you a fundamental understanding of backend and Node.js.\n\nThe presenters demonstrated the best practices in building Node.js applications—experience they gained by working on numerous projects.\n\n#### Source\nThis online course was created by utilizing material from Node.js Nights—the free offline course with a focus on Node.js created by [STRV](https://www.strv.com/).\n\n#### Prerequisites\nThis course requires at least junior-level knowledge of programming. (Experience with javascript, Node.js or backend itself is not necessary.)\n\n\n## Contents\n\nThis course contains 9 lectures. The first 3 lectures are general, while the other 6 focus on building one simple project from scratch. This allows us to demonstrate the full scope of practices.\nEach lecture contains a video recording of the presentation, with live coding and sample codes.\nThe course focuses on understanding good architectural practices and project setups. Please keep in mind that for the purposes of the course, some information and approaches are simplified compared to big production app processes. This allows us to easily demonstrate fundamental patterns.\n\n\n## Materials\n\n#### Branches\n- **Master** branch contains the final solution.\n- **Lecture branches (e.g. 01-javascript)** contains the part of the project that is covered in the given lecture.\n\n#### Lectures directory\n\nThese [Lectures](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures) contain a brief theoretical overview of what was discussed in each given lecture.\n\nYou can find the details of all lectures below:\n\n1. [Javascript](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/01-javascript)\n2. [Node.js](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/02-nodejs)\n3. [Servers](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/03-servers)\n4. [Architecture](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/04-architecture)\n5. [Database](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/05-database)\n6. [Testing](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/06-testing)\n7. [Deployment](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/07-deployment)\n8. [Workers \u0026 Queues and Security](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/08-workers-security)\n9. [GraphQL](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/09-graphql)\n\n#### Video recordings\nRecordings of all sessions can be found on the YouTube playlist below:\n\n[https://www.youtube.com/playlist?list=PLfX7tWavkVjBVmmZOU5sWuyutpekJ6KNP](https://www.youtube.com/playlist?list=PLfX7tWavkVjBVmmZOU5sWuyutpekJ6KNP)\n\n\n## Used technologies\n#### Language \u0026 Runtime\n- Javascript. ES6\n- Node.js 11\n\n#### Framework\n- [Koa](https://github.com/koajs/koa) as web application framework\n\n#### Database\n- [PostgreSQL](https://www.postgresql.org/) as database\n- [Objection](https://github.com/sensepost/objection) as ORM\n- [Knex](https://github.com/tgriesser/knex) as query builder (for migrations)\n\n#### Testing\n- [Mocha](https://github.com/mochajs/mocha) as the most robust testing framework for Node.js.\n- [Sinon.js](https://sinonjs.org/) for mocking.\n\n#### Containerization\n- [Docker](https://www.docker.com/) as very popular and easy-to-use platform for local development and deployment.\n\n#### CI\n- [Travis](https://travis-ci.org/) as Continuous integration\n\n\n#### Speakers\n1. Javascript - [Josef Zavisek](https://github.com/jzavisek)\n2. Node.js - [Miroslav Andrysek](https://github.com/mandrysek)\n3. Servers - [Miroslav Macik](https://github.com/miryn)\n4. Architecture - [Jiri Erhart](https://github.com/snEk42)\n5. Database - [Samuel Prado](https://github.com/skateonrails)\n6. Testing - [David Ruzicka](https://github.com/ruzicka)\n7. Deployment - [Juan Sanchez](https://github.com/jlsan92)\n8. Workers \u0026 Queues and Security - [Jan Hovorka](https://github.com/honzahovorka), [Jiri Erhart](https://github.com/snEk42)\n9. GraphQL - [Josef Zavisek](https://github.com/jzavisek)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrvcom%2Fnodejs-open-knowledge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrvcom%2Fnodejs-open-knowledge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrvcom%2Fnodejs-open-knowledge/lists"}