An open API service indexing awesome lists of open source software.

https://github.com/strvcom/nodejs-open-knowledge

Nodejs Nights autum-winter 2018
https://github.com/strvcom/nodejs-open-knowledge

Last synced: about 1 year ago
JSON representation

Nodejs Nights autum-winter 2018

Awesome Lists containing this project

README

          

## Introduction
This repository serves as an online course for learning Node.js.
Made by STRV, it’s here to help those who want to learn more about Node.js and backend to develop a backend API.

#### Goal
To give you a fundamental understanding of backend and Node.js.

The presenters demonstrated the best practices in building Node.js applications—experience they gained by working on numerous projects.

#### Source
This 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/).

#### Prerequisites
This course requires at least junior-level knowledge of programming. (Experience with javascript, Node.js or backend itself is not necessary.)

## Contents

This 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.
Each lecture contains a video recording of the presentation, with live coding and sample codes.
The 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.

## Materials

#### Branches
- **Master** branch contains the final solution.
- **Lecture branches (e.g. 01-javascript)** contains the part of the project that is covered in the given lecture.

#### Lectures directory

These [Lectures](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures) contain a brief theoretical overview of what was discussed in each given lecture.

You can find the details of all lectures below:

1. [Javascript](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/01-javascript)
2. [Node.js](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/02-nodejs)
3. [Servers](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/03-servers)
4. [Architecture](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/04-architecture)
5. [Database](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/05-database)
6. [Testing](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/06-testing)
7. [Deployment](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/07-deployment)
8. [Workers & Queues and Security](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/08-workers-security)
9. [GraphQL](https://github.com/strvcom/nodejs-nights-2018/tree/master/lectures/09-graphql)

#### Video recordings
Recordings of all sessions can be found on the YouTube playlist below:

[https://www.youtube.com/playlist?list=PLfX7tWavkVjBVmmZOU5sWuyutpekJ6KNP](https://www.youtube.com/playlist?list=PLfX7tWavkVjBVmmZOU5sWuyutpekJ6KNP)

## Used technologies
#### Language & Runtime
- Javascript. ES6
- Node.js 11

#### Framework
- [Koa](https://github.com/koajs/koa) as web application framework

#### Database
- [PostgreSQL](https://www.postgresql.org/) as database
- [Objection](https://github.com/sensepost/objection) as ORM
- [Knex](https://github.com/tgriesser/knex) as query builder (for migrations)

#### Testing
- [Mocha](https://github.com/mochajs/mocha) as the most robust testing framework for Node.js.
- [Sinon.js](https://sinonjs.org/) for mocking.

#### Containerization
- [Docker](https://www.docker.com/) as very popular and easy-to-use platform for local development and deployment.

#### CI
- [Travis](https://travis-ci.org/) as Continuous integration

#### Speakers
1. Javascript - [Josef Zavisek](https://github.com/jzavisek)
2. Node.js - [Miroslav Andrysek](https://github.com/mandrysek)
3. Servers - [Miroslav Macik](https://github.com/miryn)
4. Architecture - [Jiri Erhart](https://github.com/snEk42)
5. Database - [Samuel Prado](https://github.com/skateonrails)
6. Testing - [David Ruzicka](https://github.com/ruzicka)
7. Deployment - [Juan Sanchez](https://github.com/jlsan92)
8. Workers & Queues and Security - [Jan Hovorka](https://github.com/honzahovorka), [Jiri Erhart](https://github.com/snEk42)
9. GraphQL - [Josef Zavisek](https://github.com/jzavisek)