1. Урок 1. 00:01:12
    Welcome to the course!
  2. Урок 2. 00:00:58
    Installing the NestJS CLI
  3. Урок 3. 00:02:56
    (Optional) Installing VSCode and Extensions
  4. Урок 4. 00:05:18
    Project Overview
  5. Урок 5. 00:02:05
    Creating our project via the NestJS CLI
  6. Урок 6. 00:06:37
    NestJS Project Structure
  7. Урок 7. 00:02:55
    Introduction to NestJS Modules
  8. Урок 8. 00:03:33
    Creating a Tasks Module
  9. Урок 9. 00:03:47
    Introduction to NestJS Controllers
  10. Урок 10. 00:03:38
    Creating at Tasks Controller
  11. Урок 11. 00:05:04
    Introduction to NestJS Providers and Services
  12. Урок 12. 00:05:55
    Creating a Tasks Service
  13. Урок 13. 00:07:31
    Feature: Getting All Tasks
  14. Урок 14. 00:01:44
    Creating a Postman Collection
  15. Урок 15. 00:05:02
    Defining a Task Model
  16. Урок 16. 00:05:00
    Feature: Creating a Task (Part 1 - Controller)
  17. Урок 17. 00:06:37
    Feature: Creating a Task (Part 2 - Service)
  18. Урок 18. 00:05:37
    Intro to Data Transfer Objects (DTO)
  19. Урок 19. 00:04:59
    Implementing CreateTaskDto
  20. Урок 20. 00:05:44
    Feature: Getting a Task by ID
  21. Урок 21. 00:00:53
    Challenge: Deleting a Task
  22. Урок 22. 00:04:24
    Solution: Deleting a Task
  23. Урок 23. 00:01:20
    Challenge: Update Task Status
  24. Урок 24. 00:05:28
    Solution: Update Task Status
  25. Урок 25. 00:08:50
    Feature: Searching and Filtering
  26. Урок 26. 00:04:15
    Introduction to NestJS Pipes
  27. Урок 27. 00:04:32
    ValidationPipe: Creating a Task
  28. Урок 28. 00:04:17
    Error Handling: Getting a non-existing Task
  29. Урок 29. 00:01:10
    Error Handling: Deleting a non-existing Task
  30. Урок 30. 00:03:28
    Validation: Update Task Status
  31. Урок 31. 00:02:43
    Challenge: Validating Task Filtering and Search
  32. Урок 32. 00:00:31
    Introduction to Persistence
  33. Урок 33. 00:04:03
    Running PostgreSQL via Docker
  34. Урок 34. 00:01:46
    Setting up pgAdmin
  35. Урок 35. 00:00:55
    Creating a Database using pgAdmin
  36. Урок 36. 00:02:58
    Introduction to TypeORM
  37. Урок 37. 00:04:30
    Setting up a Database Connection
  38. Урок 38. 00:03:52
    Creating a Task Entity
  39. Урок 39. 00:03:41
    Active Record VS Data Mapper Patterns
  40. Урок 40. 00:03:34
    Creating a Tasks Repository
  41. Урок 41. 00:03:45
    Refactoring for Tasks Service
  42. Урок 42. 00:08:34
    Persistence: Getting a Task by ID
  43. Урок 43. 00:07:32
    Persistence: Creating a Task
  44. Урок 44. 00:01:23
    (Challenge) Persistence: Deleting a Task
  45. Урок 45. 00:04:59
    (Solution) Persistence: Deleting a Task
  46. Урок 46. 00:02:41
    Persistence: Update Task Status
  47. Урок 47. 00:01:41
    Small Change Needed
  48. Урок 48. 00:12:23
    Persistence: Getting All Tasks
  49. Урок 49. 00:01:13
    Intro to Authentication and Authorization
  50. Урок 50. 00:05:06
    Setting up AuthModule, User Entity and User Repository
  51. Урок 51. 00:08:27
    Feature: Signing Up
  52. Урок 52. 00:04:13
    Validation: Credentials and Password Strength
  53. Урок 53. 00:06:43
    Error Handling: Username Conflicts
  54. Урок 54. 00:07:23
    Securely Storing Passwords
  55. Урок 55. 00:04:26
    Password Hashing With Bcrypt
  56. Урок 56. 00:04:43
    Feature: Signing In
  57. Урок 57. 00:05:55
    Intro to JSON Web Tokens (JWT)
  58. Урок 58. 00:03:35
    Setting up the JWT Module and Passport.js
  59. Урок 59. 00:07:09
    Signing a JWT Token on Sign In (Authentication)
  60. Урок 60. 00:11:39
    Implementing JWT Validation
  61. Урок 61. 00:03:15
    Custom @GetUser Decorator
  62. Урок 62. 00:02:01
    Guarding the Tasks Routes
  63. Урок 63. 00:03:59
    Tasks and Users - Database Relation
  64. Урок 64. 00:04:37
    Make Users Own Tasks
  65. Урок 65. 00:03:40
    Serialize User Data
  66. Урок 66. 00:03:31
    Restricting Getting All Tasks
  67. Урок 67. 00:02:35
    BUG FIX: Getting All Tasks
  68. Урок 68. 00:03:51
    Restricting Getting a Task By ID
  69. Урок 69. 00:00:51
    Restricting Status Updates
  70. Урок 70. 00:01:24
    Restricting Deleting A Task
  71. Урок 71. 00:01:34
    THANK YOU! (+ Promotion)
  72. Урок 72. 00:02:54
    Introduction to Logging
  73. Урок 73. 00:14:55
    Implementing Logs in our NestJS app
  74. Урок 74. 00:02:11
    Introduction to Configuration
  75. Урок 75. 00:03:51
    Quick Intro to Environment Variables
  76. Урок 76. 00:09:19
    Setting up ConfigModule
  77. Урок 77. 00:09:38
    TypeORM Configuration
  78. Урок 78. 00:06:39
    Config Schema Validation
  79. Урок 79. 00:04:08
    JWT Secret Configuration
  80. Урок 80. 00:05:36
    Front-end Application
  81. Урок 81. 00:01:07
    Signing up to Heroku
  82. Урок 82. 00:01:00
    Creating a Heroku Application
  83. Урок 83. 00:01:12
    Installing the the Heroku CLI
  84. Урок 84. 00:03:00
    Postgres on Heroku
  85. Урок 85. 00:05:12
    Changes in our NestJS App
  86. Урок 86. 00:09:49
    Deploying NestJS to Heroku
  87. Урок 87. 00:08:21
    Deploying Front-end to GitHub Pages
  88. Урок 88. 00:01:47
    Unit Testing Crash Course: Basics
  89. Урок 89. 00:06:39
    Unit Testing Crash Course: First Tests
  90. Урок 90. 00:01:37
    IMPORTANT: Fixing import paths
  91. Урок 91. 00:18:44
    Testing TasksService - Part 1
  92. Урок 92. 00:07:30
    Testing TasksService - Part 2
  93. Урок 93. 00:01:06
    GraphQL + MongoDB: Section Introduction
  94. Урок 94. 00:02:39
    Project Overview: School Management
  95. Урок 95. 00:01:15
    Robo 3T - Connecting to the MongoDB Database
  96. Урок 96. 00:02:05
    Project setup
  97. Урок 97. 00:00:56
    Ensure NestJS 7 Installation
  98. Урок 98. 00:03:03
    Installing GraphQL Dependencies
  99. Урок 99. 00:01:27
    Creating the Lesson Module
  100. Урок 100. 00:03:14
    Defining the Lesson GraphQL Type
  101. Урок 101. 00:04:04
    Creating the Lesson Resolver
  102. Урок 102. 00:03:45
    Using the GraphQL Playground
  103. Урок 103. 00:06:35
    Persistence: TypeORM, MongoDB and our Lesson Entity
  104. Урок 104. 00:08:06
    LessonService and createLesson method
  105. Урок 105. 00:05:02
    Create Lesson GraphQL Mutation
  106. Урок 106. 00:03:41
    getLesson GraphQL Query with MongoDB
  107. Урок 107. 00:07:16
    Validation: Create Lesson Input
  108. Урок 108. 00:04:08
    Challenge: Get All Lessons GraphQL Query
  109. Урок 109. 00:01:45
    Creating the Student Module
  110. Урок 110. 00:02:54
    Challenge: Defining the Student Entity
  111. Урок 111. 00:10:29
    Challenge: Create Student Mutation
  112. Урок 112. 00:02:38
    Challenge: Get All Students GraphQL Query
  113. Урок 113. 00:02:45
    Challenge: Get Student by ID Query
  114. Урок 114. 00:10:27
    Assign Students To Lesson GraphQL Mutation
  115. Урок 115. 00:03:15
    Improvement: Assign Students Upon Lesson Creation
  116. Урок 116. 00:08:14
    Resolve "students" Field in Lesson