├── .gitignore ├── LICENSE ├── README.md ├── classes ├── 01-classes-intro.ts ├── 02-interfaces.ts ├── 03-singleton.ts └── tsconfig.json ├── data └── db-data.ts ├── decorators ├── 01-use-decorators.ts ├── 02-method-decorator.ts ├── 03-class-decorator.ts ├── 04-property-decorators.ts └── tsconfig.json ├── fundamentals ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── 01-why-typescript.ts │ ├── 02-primitive-types.ts │ ├── 03-null-undefined-chaining.ts │ ├── 04-arrays.ts │ ├── 05-enums.ts │ ├── 06-any-type.ts │ ├── 07-02-non-null-assertion-operator.ts │ ├── 07-union-types.ts │ ├── 08-literal-types.ts │ ├── 09-type-aliases.ts │ ├── 10-interfaces.ts │ ├── 11-type-assertions.ts │ ├── 12-modules-exports.ts │ ├── 12-modules-imports.ts │ ├── 14-module-reexports │ │ ├── course-model.ts │ │ ├── feature-1.ts │ │ ├── feature-2.ts │ │ └── index.ts │ ├── 15-default-exports.ts │ ├── 16-arrow-functions.ts │ ├── 17-default-function-arguments.ts │ ├── 18-object-spread.ts │ ├── 19-object-destructuring.ts │ ├── 20-array-spread-destructuring.ts │ ├── 21-rest-arguments.ts │ ├── 22-object-creation-shorthand-notation.ts │ ├── 23-introduction-to-functions.ts │ ├── 24-function-types.ts │ ├── 25-tuples.ts │ ├── 26-unknown-type.ts │ ├── 27-type-predicates.ts │ ├── 28-never-type.ts │ ├── 29-intersection-types.ts │ ├── 30-tsconfig-lib.ts │ └── 31-express.ts └── tsconfig.json ├── generics ├── 01-common-examples.ts ├── 02-partial.ts ├── 03-readonly.ts ├── 04-generic-functions.ts ├── 05-merge-generic-function.ts ├── 06-keyof.ts ├── 07-generic-classes.ts └── tsconfig.json └── rest-api ├── .env ├── package-lock.json ├── package.json ├── src ├── data-source.ts ├── logger.ts ├── middlewares │ ├── admin-only.middleware.ts │ ├── authentication-middleware.ts │ └── default-error-handler.ts ├── models │ ├── course.ts │ ├── db-data.ts │ ├── delete-db.ts │ ├── lesson.ts │ ├── populate-db.ts │ └── user.ts ├── routes │ ├── create-course.ts │ ├── create-user.ts │ ├── delete-course.ts │ ├── find-course-by-url.ts │ ├── find-lessons-for-course.ts │ ├── get-all-courses.ts │ ├── login.ts │ ├── root.ts │ └── update-course.ts ├── server.ts └── utils.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.js 3 | node_modules 4 | dist 5 | .env 6 | rest-api/logs 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/README.md -------------------------------------------------------------------------------- /classes/01-classes-intro.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/classes/01-classes-intro.ts -------------------------------------------------------------------------------- /classes/02-interfaces.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/classes/02-interfaces.ts -------------------------------------------------------------------------------- /classes/03-singleton.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/classes/03-singleton.ts -------------------------------------------------------------------------------- /classes/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/classes/tsconfig.json -------------------------------------------------------------------------------- /data/db-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/data/db-data.ts -------------------------------------------------------------------------------- /decorators/01-use-decorators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/decorators/01-use-decorators.ts -------------------------------------------------------------------------------- /decorators/02-method-decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/decorators/02-method-decorator.ts -------------------------------------------------------------------------------- /decorators/03-class-decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/decorators/03-class-decorator.ts -------------------------------------------------------------------------------- /decorators/04-property-decorators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/decorators/04-property-decorators.ts -------------------------------------------------------------------------------- /decorators/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/decorators/tsconfig.json -------------------------------------------------------------------------------- /fundamentals/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/index.html -------------------------------------------------------------------------------- /fundamentals/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/package-lock.json -------------------------------------------------------------------------------- /fundamentals/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/package.json -------------------------------------------------------------------------------- /fundamentals/src/01-why-typescript.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/01-why-typescript.ts -------------------------------------------------------------------------------- /fundamentals/src/02-primitive-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/02-primitive-types.ts -------------------------------------------------------------------------------- /fundamentals/src/03-null-undefined-chaining.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/03-null-undefined-chaining.ts -------------------------------------------------------------------------------- /fundamentals/src/04-arrays.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/04-arrays.ts -------------------------------------------------------------------------------- /fundamentals/src/05-enums.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/05-enums.ts -------------------------------------------------------------------------------- /fundamentals/src/06-any-type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/06-any-type.ts -------------------------------------------------------------------------------- /fundamentals/src/07-02-non-null-assertion-operator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/07-02-non-null-assertion-operator.ts -------------------------------------------------------------------------------- /fundamentals/src/07-union-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/07-union-types.ts -------------------------------------------------------------------------------- /fundamentals/src/08-literal-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/08-literal-types.ts -------------------------------------------------------------------------------- /fundamentals/src/09-type-aliases.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/09-type-aliases.ts -------------------------------------------------------------------------------- /fundamentals/src/10-interfaces.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/10-interfaces.ts -------------------------------------------------------------------------------- /fundamentals/src/11-type-assertions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/11-type-assertions.ts -------------------------------------------------------------------------------- /fundamentals/src/12-modules-exports.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/12-modules-exports.ts -------------------------------------------------------------------------------- /fundamentals/src/12-modules-imports.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/12-modules-imports.ts -------------------------------------------------------------------------------- /fundamentals/src/14-module-reexports/course-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/14-module-reexports/course-model.ts -------------------------------------------------------------------------------- /fundamentals/src/14-module-reexports/feature-1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/14-module-reexports/feature-1.ts -------------------------------------------------------------------------------- /fundamentals/src/14-module-reexports/feature-2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/14-module-reexports/feature-2.ts -------------------------------------------------------------------------------- /fundamentals/src/14-module-reexports/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/14-module-reexports/index.ts -------------------------------------------------------------------------------- /fundamentals/src/15-default-exports.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/15-default-exports.ts -------------------------------------------------------------------------------- /fundamentals/src/16-arrow-functions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/16-arrow-functions.ts -------------------------------------------------------------------------------- /fundamentals/src/17-default-function-arguments.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/17-default-function-arguments.ts -------------------------------------------------------------------------------- /fundamentals/src/18-object-spread.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/18-object-spread.ts -------------------------------------------------------------------------------- /fundamentals/src/19-object-destructuring.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/19-object-destructuring.ts -------------------------------------------------------------------------------- /fundamentals/src/20-array-spread-destructuring.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/20-array-spread-destructuring.ts -------------------------------------------------------------------------------- /fundamentals/src/21-rest-arguments.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/21-rest-arguments.ts -------------------------------------------------------------------------------- /fundamentals/src/22-object-creation-shorthand-notation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/22-object-creation-shorthand-notation.ts -------------------------------------------------------------------------------- /fundamentals/src/23-introduction-to-functions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/23-introduction-to-functions.ts -------------------------------------------------------------------------------- /fundamentals/src/24-function-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/24-function-types.ts -------------------------------------------------------------------------------- /fundamentals/src/25-tuples.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/25-tuples.ts -------------------------------------------------------------------------------- /fundamentals/src/26-unknown-type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/26-unknown-type.ts -------------------------------------------------------------------------------- /fundamentals/src/27-type-predicates.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/27-type-predicates.ts -------------------------------------------------------------------------------- /fundamentals/src/28-never-type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/28-never-type.ts -------------------------------------------------------------------------------- /fundamentals/src/29-intersection-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/29-intersection-types.ts -------------------------------------------------------------------------------- /fundamentals/src/30-tsconfig-lib.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/30-tsconfig-lib.ts -------------------------------------------------------------------------------- /fundamentals/src/31-express.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/src/31-express.ts -------------------------------------------------------------------------------- /fundamentals/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/fundamentals/tsconfig.json -------------------------------------------------------------------------------- /generics/01-common-examples.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/01-common-examples.ts -------------------------------------------------------------------------------- /generics/02-partial.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/02-partial.ts -------------------------------------------------------------------------------- /generics/03-readonly.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/03-readonly.ts -------------------------------------------------------------------------------- /generics/04-generic-functions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/04-generic-functions.ts -------------------------------------------------------------------------------- /generics/05-merge-generic-function.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/05-merge-generic-function.ts -------------------------------------------------------------------------------- /generics/06-keyof.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/06-keyof.ts -------------------------------------------------------------------------------- /generics/07-generic-classes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/07-generic-classes.ts -------------------------------------------------------------------------------- /generics/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/generics/tsconfig.json -------------------------------------------------------------------------------- /rest-api/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/.env -------------------------------------------------------------------------------- /rest-api/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/package-lock.json -------------------------------------------------------------------------------- /rest-api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/package.json -------------------------------------------------------------------------------- /rest-api/src/data-source.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/data-source.ts -------------------------------------------------------------------------------- /rest-api/src/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/logger.ts -------------------------------------------------------------------------------- /rest-api/src/middlewares/admin-only.middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/middlewares/admin-only.middleware.ts -------------------------------------------------------------------------------- /rest-api/src/middlewares/authentication-middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/middlewares/authentication-middleware.ts -------------------------------------------------------------------------------- /rest-api/src/middlewares/default-error-handler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/middlewares/default-error-handler.ts -------------------------------------------------------------------------------- /rest-api/src/models/course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/models/course.ts -------------------------------------------------------------------------------- /rest-api/src/models/db-data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/models/db-data.ts -------------------------------------------------------------------------------- /rest-api/src/models/delete-db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/models/delete-db.ts -------------------------------------------------------------------------------- /rest-api/src/models/lesson.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/models/lesson.ts -------------------------------------------------------------------------------- /rest-api/src/models/populate-db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/models/populate-db.ts -------------------------------------------------------------------------------- /rest-api/src/models/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/models/user.ts -------------------------------------------------------------------------------- /rest-api/src/routes/create-course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/create-course.ts -------------------------------------------------------------------------------- /rest-api/src/routes/create-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/create-user.ts -------------------------------------------------------------------------------- /rest-api/src/routes/delete-course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/delete-course.ts -------------------------------------------------------------------------------- /rest-api/src/routes/find-course-by-url.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/find-course-by-url.ts -------------------------------------------------------------------------------- /rest-api/src/routes/find-lessons-for-course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/find-lessons-for-course.ts -------------------------------------------------------------------------------- /rest-api/src/routes/get-all-courses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/get-all-courses.ts -------------------------------------------------------------------------------- /rest-api/src/routes/login.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/login.ts -------------------------------------------------------------------------------- /rest-api/src/routes/root.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/root.ts -------------------------------------------------------------------------------- /rest-api/src/routes/update-course.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/routes/update-course.ts -------------------------------------------------------------------------------- /rest-api/src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/server.ts -------------------------------------------------------------------------------- /rest-api/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/src/utils.ts -------------------------------------------------------------------------------- /rest-api/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/angular-university/typescript-bootcamp/HEAD/rest-api/tsconfig.json --------------------------------------------------------------------------------