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