This plan includes
- Limited free courses access
- Play & Pause Course Videos
- Video Recorded Lectures
- Learn on Mobile/PC/Tablet
- Quizzes and Real Projects
- Lifetime Course Certificate
- Email & Chat Support
What you'll learn?
- React
- Typescript
- Redux
- Redux Toolkit
- Redux thunks
- Docker
- Docker compose
- Material UI
- Implementing dark mode
- Authentication with Auth0
- React Router DOM
- Redux Persist
- Jest
- Selectors with Reselect
Course Overview
In this course, you will learn how to build a simple yet complex app (a code editor in the browser inspired in VS Code using the Monaco Editor). You will learn a lot of things from such a simple project:
-
React with Typescript (we are going to use React Hooks and use it with TS)
-
React best practices (configuring Prettier for formatting your projects, centralizing environment variables, centralizing your theme config, etc)
-
Redux (dispatching actions, using selectors, etc.)
-
Redux Toolkit (creating async and synchronous thunks, slices, etc.)
-
Material UI (we will be using lots of components from this UI library and learn how to use the ThemeProvider)
-
Testing (with Jest!)
-
Docker (to dockerize our app easily!)
-
Authentication with Auth0 (we'll learn how to configure an SPA with Auth0 and use its hooks)
-
Protecting routes with React Router Dom and Auth0
-
Implementing dark mode (with the help of MUI)
At the end of this course, you will be able to transfer all the knowledge you will get to a real world application. You can also take this project as a portfolio project. It contains lots of things that you would use in a big React application.
Lots of courses concentrate on the basics of React. In this course we will be building a simple yet complex app. You will see that we will cover lots of things in such a short amount of time!
Pre-requisites
- Basic knowledge of React and Javascript
- Basic knowledge of Redux
Target Audience
- React developers
- Javascript developers
- Frontend developers
Curriculum 53 Lectures 04:13:36
Section 1 : Introduction
- Lecture 2 :
- Defining the Code Editor App requirements
- Lecture 3 :
- Installing Node.js
- Lecture 4 :
- Installing Docker and Docker Compose
- Lecture 5 :
- Creating the Auth0 account
Section 2 : Setting up the project
- Lecture 1 :
- Creating the boilerplate code
- Lecture 2 :
- Configuring Prettier for fomatting
- Lecture 3 :
- Adding the necessary dependencies
- Lecture 4 :
- Dockerizing the app
- Lecture 5 :
- Configuring Auth0
- Lecture 6 :
- Setting up environment variables
Section 3 : Starting to write the first components
- Lecture 1 :
- Creating the AuthProvider component
- Lecture 2 :
- Creating a common Loading component
Section 4 : Starting to set up Redux
- Lecture 1 :
- Creating the dark mode slice
- Lecture 2 :
- Adding tests for the dark mode reducer
- Lecture 3 :
- Configuring Redux persist
- Lecture 4 :
- Configuring the store
- Lecture 5 :
- Creating the ReduxProvider component
- Lecture 6 :
- Creating typed hooks
Section 5 : Dealing with the theme
- Lecture 1 :
- Configuring the app colors
- Lecture 2 :
- Creating the CustomThemeProvider component
Section 6 : Authentication and routing components
- Lecture 1 :
- Creating protected routes with Auth0
- Lecture 2 :
- Creating the Routes component
- Lecture 3 :
- Creating the Header component
- Lecture 4 :
- Creating the SignIn component
- Lecture 5 :
- Creating the SignOut component
- Lecture 6 :
- Creating the authenticated and unauthenticated buttons
- Lecture 7 :
- Testing the authentication
Section 7 : Creating the home page
- Lecture 1 :
- Creating the Home page component
- Lecture 2 :
- Testing the Home page with RTL
Section 8 : The file viewer component
- Lecture 1 :
- Defining the Custom File and File viewer types
- Lecture 2 :
- Creating the Files reducer
- Lecture 3 :
- Adding the files reducer business logic
- Lecture 4 :
- Testing the files reducer (part 1)
- Lecture 5 :
- Testing the files reducer (part 2)
- Lecture 6 :
- Changing the store folder structure
- Lecture 7 :
- Creating the selectActiveFiles selector
- Lecture 8 :
- Creating the Open Workspace button
- Lecture 9 :
- Reading files (part 1)
- Lecture 10 :
- Reading files (part 2)
- Lecture 11 :
- Creating an Extension Icon reusable component
- Lecture 12 :
- Tests for the selectFileViewerData selector
- Lecture 13 :
- Creating the selectFileViewerData selector
- Lecture 14 :
- Creating the File Viewer component
- Lecture 15 :
- Creating the Open File thunk
Section 9 : Creating the editor
- Lecture 1 :
- Creating the Code Editor page
- Lecture 2 :
- Creating the Code Editor container
- Lecture 3 :
- Creating the Custom Tab Panel
- Lecture 4 :
- Creating the onTabClick handler
- Lecture 5 :
- Creating the Custom Tab Label component
- Lecture 6 :
- Creating the Close File thunk
- Lecture 7 :
- Creating the CustomCreating the Custom Monaco Editor and finishing the app
Section 10 : Conclusion
- Lecture 1 :
- Conclusion
Our learners work at
Frequently Asked Questions
How do i access the course after purchase?
It's simple. When you sign up, you'll immediately have unlimited viewing of thousands of expert courses, paths to guide your learning, tools to measure your skills and hands-on resources like exercise files. There’s no limit on what you can learn and you can cancel at any time.Are these video based online self-learning courses?
Yes. All of the courses comes with online video based lectures created by certified instructors. Instructors have crafted these courses with a blend of high quality interactive videos, lectures, quizzes & real world projects to give you an indepth knowledge about the topic.Can i play & pause the course as per my convenience?
Yes absolutely & thats one of the advantage of self-paced courses. You can anytime pause or resume the course & come back & forth from one lecture to another lecture, play the videos mulitple times & so on.How do i contact the instructor for any doubts or questions?
Most of these courses have general questions & answers already covered within the course lectures. However, if you need any further help from the instructor, you can use the inbuilt Chat with Instructor option to send a message to an instructor & they will reply you within 24 hours. You can ask as many questions as you want.Do i need a pc to access the course or can i do it on mobile & tablet as well?
Brilliant question? Isn't it? You can access the courses on any device like PC, Mobile, Tablet & even on a smart tv. For mobile & a tablet you can download the Learnfly android or an iOS app. If mobile app is not available in your country, you can access the course directly by visting our website, its fully mobile friendly.Do i get any certificate for the courses?
Yes. Once you complete any course on our platform along with provided assessments by the instructor, you will be eligble to get certificate of course completion.For how long can i access my course on the platform?
You require an active subscription to access courses on our platform. If your subscription is active, you can access any course on our platform with no restrictions.Is there any free trial?
Currently, we do not offer any free trial.Can i cancel anytime?
Yes, you can cancel your subscription at any time. Your subscription will auto-renew until you cancel, but why would you want to?
Instructor
192676 Course Views
3 Courses