1. Урок 1.00:01:45
    What do I need?
  2. Урок 2.00:03:12
    Get started with the mighty Vue CLI
  3. Урок 3.00:03:56
    Scaffold your project with Vue CLI
  4. Урок 4.00:03:35
    Explore the Webpack template
  5. Урок 5.00:07:05
    Automatic Code Review, Linting with ESLint
  6. Урок 6.00:06:25
    Structuring our data
  7. Урок 7.00:03:57
    Import data source and show the conversations
  8. Урок 8.00:09:54
    Vue.js with a Theme and Scoped CSS Styling
  9. Урок 9.00:06:42
    Introducing the vue-router
  10. Урок 10.00:11:32
    Components, Props and Computed Properties
  11. Урок 11.00:02:33
    Router Links
  12. Урок 12.00:04:13
    Organizing the Components
  13. Урок 13.00:02:29
    Handling not found pages
  14. Урок 14.00:04:31
    CSS Modules with Webpack
  15. Урок 15.00:05:56
    Tidy up a messy component
  16. Урок 16.00:02:12
    Arrow Functions
  17. Урок 17.00:10:48
    Let the discussion begin!
  18. Урок 18.00:06:03
    Communicate between components
  19. Урок 19.00:05:35
    Destructuring JavaScript Arrays and Objects
  20. Урок 20.00:05:54
    Human Friendly Dates
  21. Урок 21.00:04:25
    Base Components
  22. Урок 22.00:05:54
    Global Base Components
  23. Урок 23.00:05:44
    Organize threads in forums
  24. Урок 24.00:05:12
    Forum Components
  25. Урок 25.00:07:29
    Categories, Collections of Forums
  26. Урок 26.00:05:28
    Migrating to Vuex
  27. Урок 27.00:05:37
    Creating Posts using Vuex
  28. Урок 28.00:02:40
    The NavBar
  29. Урок 29.00:02:15
    Grabbing the Authenticated User
  30. Урок 30.00:05:25
    User Profile Page
  31. Урок 31.00:03:32
    Utility to Count Object Properties
  32. Урок 32.00:03:22
    JavaScript: By Reference vs By Value
  33. Урок 33.00:06:44
    Update a User Profile
  34. Урок 34.00:03:01
    Shared Page Components
  35. Урок 35.00:02:26
    Use authId when Creating Posts
  36. Урок 36.00:02:22
    Create New Threads
  37. Урок 37.00:07:37
    Actions and Mutations
  38. Урок 38.00:02:29
    Add the Route
  39. Урок 39.00:02:10
    Redirect on Publish
  40. Урок 40.00:01:36
    Use Route Params
  41. Урок 41.00:02:32
    ThreadEditor
  42. Урок 42.00:05:08
    Edit Threads
  43. Урок 43.00:03:38
    Improve the ThreadEditor
  44. Урок 44.00:07:30
    Editing Posts
  45. Урок 45.00:01:33
    Conditionally display multiple elements with an invisible wrapper
  46. Урок 46.00:01:13
    Post Editor Buttons
  47. Урок 47.00:03:08
    Vue.js Custom Prop Validation
  48. Урок 48.00:03:12
    Has the post been modified?
  49. Урок 49.00:04:34
    What is a Higher Order Function?
  50. Урок 50.00:05:17
    Creating Dynamic Vuex Getters using Higher Order Functions
  51. Урок 51.00:04:56
    Create Vuex Mutations with Higher Order Functions
  52. Урок 52.00:04:51
    Filter Array Elements to Count Unique Contributors
  53. Урок 53.00:01:18
    Small Improvements Before the Firebase Chapter
  54. Урок 54.00:02:48
    Install Firebase Realtime Database
  55. Урок 55.00:01:12
    Set up the Firebase Realtime Database
  56. Урок 56.00:04:23
    Understanding the Vue.js Lifecycle Hooks
  57. Урок 57.00:07:06
    Start Migrate Vuex to use Firebase Realtime Database
  58. Урок 58.00:03:41
    Fetch Data from Firebase With Vuex Actions
  59. Урок 59.00:03:51
    Reusable Vuex Actions and Mutations
  60. Урок 60.00:03:19
    Vuex Actions that Fetches Multiple Items from Firebase
  61. Урок 61.00:03:48
    Fetch Firebase Data Before Creating Component Instance
  62. Урок 62.00:05:13
    Fetch Data for All Pages
  63. Урок 63.00:03:29
    Clean up Components by Mapping our Vuex Actions
  64. Урок 64.00:02:41
    Split Vuex Store into Multiple Files
  65. Урок 65.00:02:13
    Fetch Data Before Creating the Vue Instance
  66. Урок 66.00:03:58
    Store New Posts in Firebase with Vuex
  67. Урок 67.00:04:32
    Store New Threads in Firebase with Vuex
  68. Урок 68.00:01:50
    Counting Thread Contributors
  69. Урок 69.00:01:42
    Updating posts in Firebase Realtime Database
  70. Урок 70.00:01:52
    Update threads in Firebase Realtime Database
  71. Урок 71.00:02:01
    Hide Content Until Data is Fully Loaded
  72. Урок 72.00:05:27
    Share Logic Between Components with Mixins
  73. Урок 73.00:06:10
    Display a Loading Indicator while Components Fetch Async Data
  74. Урок 74.00:01:22
    Show a Cool Loading Spinner While Components Fetch Data
  75. Урок 75.00:02:35
    Show a Progress Bar while Components Fetch Asynchronous Data
  76. Урок 76.00:02:55
    The Firebase Tools (CLI)
  77. Урок 77.00:02:25
    Create Custom NPM script To Seed Database
  78. Урок 78.00:03:28
    Using Environment Variables in the Vue.js Webpack Template
  79. Урок 79.00:04:43
    Using .env file in the Vue.js Webpack Template
  80. Урок 80.00:02:20
    Create the Registration Form
  81. Урок 81.00:03:08
    Store new Users in the Database
  82. Урок 82.00:04:18
    Implement Firebase Authentication
  83. Урок 83.00:03:20
    Sign Users in When they Register
  84. Урок 84.00:05:17
    Sign Users In and Out
  85. Урок 85.00:03:32
    Dropdown Menus using Class Bindings
  86. Урок 86.00:05:41
    Authenticate Users via 3rd Party Providers
  87. Урок 87.00:07:05
    In Component Navigation Guards
  88. Урок 88.00:02:55
    Componentless Routes with Navigation Guards
  89. Урок 89.00:04:59
    Global Navigation Guards and Meta Fields
  90. Урок 90.00:05:43
    Firebase Authentication and Navigation Guards
  91. Урок 91.00:02:17
    Protecting Pages from Authenticated Users
  92. Урок 92.00:02:48
    Redirect Users After Logging In to the Page they Tried to Visit
  93. Урок 93.00:01:30
    Only Allow Authenticated Users to Create and Edit Posts
  94. Урок 94.00:02:18
    Profile Page of Authenticated User
  95. Урок 95.00:05:15
    Force Vue Router to Destroy Component to Trigger Lifecycle Hooks
  96. Урок 96.00:13:25
    Split a Large Vuex Store Into Namespaced Modules
  97. Урок 97.00:08:18
    Split a Large Vuex Store Into Namespaced Modules Part 2
  98. Урок 98.00:04:18
    Install Vuelidate and Validate the Registration Form
  99. Урок 99.00:03:48
    Validate Unique Fields Asynchronously with Firebase
  100. Урок 100.00:02:45
    Validate that an Input is An Image URL that Exists
  101. Урок 101.00:01:53
    Extract Custom Vuelidate Validators to a Utility
  102. Урок 102.00:01:02
    Homework: Validate All Forms
  103. Урок 103.00:01:27
    Close Dropdown on Click Outside
  104. Урок 104.00:02:13
    Mobile Navbar
  105. Урок 105.00:02:12
    Close Mobile Navbar on Scroll