Урок 1.00:06:26
Introduction
Урок 2.00:06:22
Setting up the project
Урок 3.00:10:59
Setting up the developer environment
Урок 4.00:09:20
React project contents
Урок 5.00:03:30
Hot Module Replacement
Урок 6.00:06:28
Folder structure
Урок 7.00:06:57
Source control
Урок 8.00:01:40
Course assets and source code
Урок 9.00:02:29
Introduction
Урок 10.00:04:08
Why React
Урок 11.00:05:10
React concepts
Урок 12.00:04:16
Intro to JSX
Урок 13.00:04:17
React Dev tools
Урок 14.00:06:56
Decisions made on this course
Урок 15.00:02:18
Introduction
Урок 16.00:04:10
Breaking up the UI into components
Урок 17.00:12:01
Intro to Semantic UI
Урок 18.00:03:52
Building our first component
Урок 19.00:04:40
Exports and imports
Урок 20.00:11:25
Navigation bar and styling
Урок 21.00:07:50
Event List Items
Урок 22.00:04:09
Creating an Event Form
Урок 23.00:09:31
Passing props down to child components
Урок 24.00:11:55
React component state
Урок 25.00:02:22
Summary of section 3
Урок 26.00:03:20
Introduction
Урок 27.00:11:09
Basic forms in React
Урок 28.00:07:23
Creating an event
Урок 29.00:07:10
Selecting an event to read
Урок 30.00:05:59
Controlled components with a key
Урок 31.00:05:31
Updating an event
Урок 32.00:02:42
Deleting an event
Урок 33.00:06:15
React class components
Урок 34.00:01:41
Summary of section 4
Урок 35.00:04:21
Introduction
Урок 36.00:01:54
Adding some additional components to route to
Урок 37.00:06:14
Routing configuration
Урок 38.00:04:04
Using NavLinks and Links
Урок 39.00:07:20
Home page styling
Урок 40.00:05:25
Adding menus for authenticated and unauthenticated users
Урок 41.00:03:46
Adding fake authentication
Урок 42.00:03:29
Using the useHistory hook
Урок 43.00:05:34
Event Detailed Page structure
Урок 44.00:07:35
Event Detailed Page content
Урок 45.00:06:11
Cleaning up the unused code
Урок 46.00:02:33
Summary of section 5
Урок 47.00:08:32
Introduction
Урок 48.00:02:45
React-Redux
Урок 49.00:06:40
Setting up Redux
Урок 50.00:03:34
Adding a sandbox area for experimenting with the code
Урок 51.00:06:08
Redux Actions
Урок 52.00:03:35
Action Creators
Урок 53.00:04:36
Redux Dev Tools
Урок 54.00:08:24
Creating the event reducer
Урок 55.00:03:32
RRF 6-9 Creating a root reducer
Урок 56.00:10:32
Getting events from the redux store
Урок 57.00:08:58
Dispatching event actions
Урок 58.00:06:38
Clean up
Урок 59.00:05:50
Scroll to top
Урок 60.00:03:37
Summary of section 6
Урок 61.00:02:51
Introduction
Урок 62.00:10:13
Setting up Formik
Урок 63.00:05:08
Formik with less code
Урок 64.00:05:40
Form validation
Урок 65.00:06:28
Creating a reusable text input
Урок 66.00:04:41
Cleaning up the form
Урок 67.00:02:07
Creating a reusable text area
Урок 68.00:07:40
Creating a reusable select input
Урок 69.00:10:18
Creating a reusable date input
Урок 70.00:07:50
Date-FNS
Урок 71.00:05:06
Formik props
Урок 72.00:09:42
Modals
Урок 73.00:09:44
Adding a Modal Manager
Урок 74.00:08:47
Creating the sign up form
Урок 75.00:05:14
Adding an auth reducer
Урок 76.00:08:11
Hooking up the sign up form
Урок 77.00:02:08
Summary of section 7
Урок 78.00:07:15
Introduction
Урок 79.00:07:08
Getting the Google API keys
Урок 80.00:08:28
Setting up places autocomplete
Урок 81.00:12:40
Creating a custom place input
Урок 82.00:09:37
Using the place input
Урок 83.00:05:57
Narrowing the place input search results
Урок 84.00:06:04
Google maps react
Урок 85.00:05:17
Challenge solution
Урок 86.00:07:17
Adding the map to the Event Detailed Page
Урок 87.00:02:20
Summary of section 8
Урок 88.00:04:45
Introduction
Урок 89.00:06:37
Redux Thunk 101
Урок 90.00:07:48
Redux Thunk 102
Урок 91.00:03:21
Isolating the loading indicators
Урок 92.00:04:52
Adding toast notifications
Урок 93.00:07:10
Adding a mock API
Урок 94.00:03:17
Adding a loading component
Урок 95.00:04:00
Using placeholders to improve the UI
Урок 96.00:06:04
Adding an event filters component
Урок 97.00:03:58
Summary of section 9
Урок 98.00:06:50
Introduction
Урок 99.00:06:29
Setting up Firestore
Урок 100.00:11:56
Firestore document fields
Урок 101.00:06:57
Listening to Firestore data
Урок 102.00:09:30
Shaping the Firestore data
Урок 103.00:03:32
Restoring the loading indicator
Урок 104.00:09:04
Creating a custom hook
Урок 105.00:11:01
Adding a useFirestoreDoc hook
Урок 106.00:05:50
Handling not found documents
Урок 107.00:05:02
Adding an error component
Урок 108.00:10:36
Creating and updating events in Firestore
Урок 109.00:05:27
Creating and updating events in Firestore part 2
Урок 110.00:03:46
Deleting an event
Урок 111.00:05:44
Cancelling an event function
Урок 112.00:06:42
Adding a confirmation prompt
Урок 113.00:03:28
Summary of section 10
Урок 114.00:02:13
Introduction
Урок 115.00:06:52
Logging in
Урок 116.00:09:19
Persisting the login
Урок 117.00:04:01
Signing out the user
Урок 118.00:07:02
Registering new users
Урок 119.00:06:21
Handling auth errors
Урок 120.00:05:02
Setting user profile data
Урок 121.00:03:47
Creating a social login component
Урок 122.00:06:18
Facebook login
Урок 123.00:11:20
Adding the facebook login method
Урок 124.00:01:58
Adding Google login
Урок 125.00:09:11
Adding an account page
Урок 126.00:07:52
Adding additional user info into the auth reducer
Урок 127.00:06:27
Adding a password change function
Урок 128.00:08:13
App initialization
Урок 129.00:03:20
Summary of section 11
Урок 130.00:01:08
Introduction
Урок 131.00:07:48
Adding a profile page
Урок 132.00:03:12
Adding the profile content
Урок 133.00:03:44
Creating the redux actions
Урок 134.00:07:45
Connecting the profile page to the store
Урок 135.00:06:04
Adding an about page
Урок 136.00:06:20
Adding the profile form
Урок 137.00:05:53
Adding the update user actions
Урок 138.00:05:45
Initializing the app with the current user profile
Урок 139.00:05:32
Selecting other user profiles
Урок 140.00:01:35
Summary of section 12
Урок 141.00:02:45
Introduction
Урок 142.00:04:28
Adding a profile photos page
Урок 143.00:03:53
Adding a photo upload widget
Урок 144.00:09:20
React dropzone
Урок 145.00:12:14
React cropper
Урок 146.00:07:17
Adding an upload image method
Урок 147.00:13:00
Using the upload method in the widget
Урок 148.00:06:01
Displaying the images
Урок 149.00:06:02
Setting the main photo
Урок 150.00:08:48
Deleting a photo
Урок 151.00:03:05
Summary of section 13
Урок 152.00:01:54
Introduction
Урок 153.00:11:09
Firestore Database design
Урок 154.00:05:30
Adding attendances to an event
Урок 155.00:08:57
Setting up the event detailed header
Урок 156.00:03:43
Adding the join event handler
Урок 157.00:05:21
Cancelling a user attendance
Урок 158.00:05:06
Adding the user nav links
Урок 159.00:08:17
Adding the filter functionality
Урок 160.00:10:41
Getting the filtered data
Урок 161.00:07:00
Adding the user event filters
Урок 162.00:03:41
Adding the user event query
Урок 163.00:11:40
Adding profile actions for user events
Урок 164.00:03:08
Summary of section 14
Урок 165.00:01:35
Introduction
Урок 166.00:03:49
Setting up firebase
Урок 167.00:06:57
Setting up the chat form
Урок 168.00:12:21
Listening to the chat data
Урок 169.00:05:01
Displaying the comments
Урок 170.00:07:44
Improving the chat UI
Урок 171.00:04:48
Clearing the chat comments
Урок 172.00:09:08
Adding the reply functionality
Урок 173.00:10:18
Displaying the replies
Урок 174.00:01:53
Summary of section 15
Урок 175.00:01:52
Introduction
Урок 176.00:08:13
Adding the firestore functions
Урок 177.00:04:08
Unfollow a user
Урок 178.00:03:18
Listening to the following data
Урок 179.00:04:22
Adding the following components
Урок 180.00:09:19
Listening to the followers data
Урок 181.00:07:34
Updating the following count
Урок 182.00:07:33
Updating the following user status
Урок 183.00:03:38
Clearing the followings
Урок 184.00:09:23
Firestore batches
Урок 185.00:08:15
Firestore batches part 2
Урок 186.00:04:29
Cloud functions introduction
Урок 187.00:07:23
Setting up cloud functions
Урок 188.00:12:10
Creating our own cloud functions
Урок 189.00:05:38
Firebase functions logs
Урок 190.00:06:02
Creating a personalized news feed
Урок 191.00:11:57
Adding functions for the feed
Урок 192.00:09:17
Listening to the news feed
Урок 193.00:09:51
Displaying the news feed events
Урок 194.00:03:40
Summary of section 16
Урок 195.00:10:39
Introduction
Урок 196.00:12:39
Implementing pagination
Урок 197.00:04:10
Improving the paging UI
Урок 198.00:04:58
Infinite scroll
Урок 199.00:07:20
Fixing the event detailed page
Урок 200.00:06:10
Fixing the event filters
Урок 201.00:03:35
Dealing with duplicate data
Урок 202.00:11:05
Implementing data consistency
Урок 203.00:04:46
Updating security rules
Урок 204.00:01:38
Summary of section 17
Урок 205.00:02:13
Introduction
Урок 206.00:05:26
Checking anonymous access
Урок 207.00:05:54
Creating a modal to prompt login
Урок 208.00:04:51
Creating a private route
Урок 209.00:08:07
Connecting the router to the store
Урок 210.00:03:23
Redirecting the user with connected router
Урок 211.00:07:04
Showing the modal on click
Урок 212.00:09:13
More on Firestore security rules
Урок 213.00:15:08
Restricting API Key usage
Урок 214.00:01:46
Summary of section 18
Урок 215.00:02:34
Introduction
Урок 216.00:09:27
Optimizing the events
Урок 217.00:08:04
Optimizing the events part 2
Урок 218.00:04:56
Optimizing the profiles
Урок 219.00:04:48
Building the application
Урок 220.00:03:20
Service worker
Урок 221.00:06:49
Publishing our app to Firebase
Урок 222.00:12:02
Resolving issues with the app and redeploying
Урок 223.00:02:39
End of course summary