
Remote
Take the course anywhere
Learn advanced ASP.NET Core, Entity Framework Core and React by building a custom e-learning platform from empty folder to production in this self-paced, online, Masterclass
Learn each of these technologies and how to build a production app that fits them together.
Learnify is a self-paced, online Masterclass, where you will master ASP.NET CORE and React by building a practical, real-world application from scratch.
Take the course anywhere
Take the course anytime
Learn in a cohesive fashion
Learn with other students
Learnify goes beyond other courses by covering every detail required to build a real, production-ready, application with ASP.NET Core and React.
By the end of this course, you will be able to:
In this course, we’ll go step-by-step creating a complete, production grade e-learning platform for selling online courses.
We’ll cover and implement the design properties, plus set up an API to fetch them from the database to display on our app homepage. We’ll create a navigation bar, implement search and login features, add filtering, sorting and pagination too.
We’ll create a course description page which will have some more information about the course such as learnings, requirements, description, number of students, level, language etc.
With Redux Toolkit, we’ll learn how to store course details, and user's details including the courses in their cart. When a user clicks on the cart icon, they'll be redirected to the basket page.
We will use Identity framework which will take care of all the requirements for user registration and login, such as verifying the email or storing user credentials in the database. We will then work on our frontend to take user's credentials.
With Stripe integration - we just need to provide payment card details and click on 'Make Payment'. Once the payment is successful, users will be able to see purchased courses in their account.
We will start by seeding some sample course data which will be displayed to the users. Later on, we will design our backend to accept course sections and lectures from our client. For video player, we are going to use YouTube's embedded player.
Allow a user to become an instructor and create a course of their own. We will create one page for basic course details and another one for creating sections and lectures. We will give an option to publish and display the title for all customers to purchase.
4 Lessons 16 Minutes
Introduction to the course
In this lesson, we'll go through all the technologies we're using in this course
In this lesson, we'll download all the technologies we're using in this course
In this lesson, we'll set up the extensions we need for our course
13 Lessons1 Hours 16 Minutes
In this lesson, we'll go through the API Controllers and make a request through Postman
In this lesson, we'll create our DOT NET web Api project using the DOTNET CLI.
In this lesson, we'll go through the entire project that comes with Web API project and Class library Project
In this lesson, we'll go through and review the API Controllers
In this lesson, we'll explore Postman tool and make a HTTP request
In this lesson, we'll add a course model to our project
In this lesson, I'll be introducing you to the Entity Framework
In this lesson, we'll be adding Entity Framework to our project
In this lesson, we'll be making our first migration
In this lesson, we'll creating our database based on the migration
In this lesson, we'll add initial data to our database
In this lesson, we'll add our first controller which will get us data from our database
In this lesson, we'll summarize what we did in module 1.
15 Lessons1 Hours 47 Minutes
In this lesson, we're going to create our client-side application using React
In this lesson, we're going to look at our React project and understand the role of each file
In this lesson, we're going to understand the important react concepts
In this lesson, we're going to look at the typescript concepts
In this lesson, we're going to look at how to use API request in React
In this lesson, we're going to install sass in our project
In this lesson, we're going to install React Router
In this lesson, we're going to add routes to our application
In this lesson, we're going to introduce and install ant design
In this lesson, we're going to create our base file
In this lesson, we're going to create a navbar using antd
In this lesson, we're going to add side drawer to our navbar
In this lesson, we're going to set up axios in our project
In this lesson, we're assign types to Axios response
In this lesson, we're going to make our course component
10 Lessons1 Hours 17 Minutes
In this lesson, we're going to introduce Repository pattern
In this lesson, we're going to add Repository and Interface to our Project
In this lesson, we're going to write the methods in our Repository
In this lesson, we're going to add more properties to our course model
In this lesson, we're going to add configuration to our migration
In this lesson, we're going to seed data for Category, Learnings and Requirements table
In this lesson, we're going to add code to get data from Categories table
In this lesson, we're going to add code for eager loading
In this lesson, we're going to shape our returning data with the help of DTO.
In this lesson, we're going to add AutoMapper to our project
7 Lessons 44 Minutes
In this lesson, we're going to implement generic repository to our application
In this lesson, we're going to implement generic repository methods
In this lesson, we're going to implement Specification Pattern
In this lesson, we're going to write our Specification evaluator
In this lesson, we're going to implement the Specification methods
In this lesson, we're going to implement our Specification methods inside Controllers
In this lesson, we're going to walk through the entire process of Specification pattern
5 Lessons 35 Minutes
In this lesson, we're going to create Errors Controller
In this lesson, we're going to manage our Error Responses
In this lesson, we're going to create a not found endpoint
In this lesson, we're going to create exception middleware to handle internal server error
In this lesson, we're going to format our validation error response
6 Lessons 41 Minutes
In this lesson, we're going to add sorting feature to our API
In this lesson, we're going to add filter feature to our API
In this lesson, we're going to add pagination to our API
In this lesson, we're going to finish pagination
In this lesson, we're going to add search functionality
In this lesson, we're going to fix some warnings
6 Lessons1 Hours 2 Minutes
In this lesson, we're going to refactor our frontend
In this lesson, we're going to add Categories bar
In this lesson, we're going to create a new component to show courses
In this lesson, we're going to create categories page
In this lesson, we're going to create a description page
In this lesson, we're going to design the description page
12 Lessons1 Hours 44 Minutes
In this lesson, we're going to create basket entity
In this lesson, we're going to make migration to our database
In this lesson, we're going to create basket controller
In this lesson, we're going to create removeItem method
In this lesson, we're going to set up axios for our basket
In this lesson, we're going to add Basket page
In this lesson, we're going to design Basket page
In this lesson, we're going to implement React context to centralize state
In this lesson, we're going to fetch the basket on app start
In this lesson, we're going to refactor the basket page and display the basket items count in the header
In this lesson, we're going to add basket summary
In this lesson, we're going to include "Add to cart" button in the description page
15 Lessons1 Hours 59 Minutes
In this lesson, we're going to install redux
In this lesson, we're going create actions
In this lesson, we're going to introduce Redux toolkit
In this lesson, we're going to create a basket slice
In this lesson, we're going to make our application use redux toolkit
In this lesson, we'd be using asynchronous calls in redux
In this lesson, we're going to make our application use redux toolkit
In this lesson, we're going to use Redux toolkit Entity Adapters
In this lesson, we're going to install and use Redux Devtools
In this lesson, we're going to use selectors provided by Entity Adapters
In this lesson, we're going to fetch single product
In this lesson, we're going to create a category slice
In this lesson, we're going to add search filters
In this lesson, we're going to add Course params to Redux
In this lesson, we're going to add pagination to the frontend
17 Lessons2 Hours 24 Minutes
In this lesson, we're going to set up ASP identity
In this lesson, we're going to configure and migrate
In this lesson, we're going to create Users controller
In this lesson, we're going to learn about Json Web Tokens
In this lesson, we're going to create token service
In this lesson, we're going to use the token service we created in the last lecture
In this lesson, we're going to validate the token inside our server
In this lesson, we're going to set up frontend for user's identity
In this lesson, we're going to build the login and register component
In this lesson, we're going to finalize the login page
In this lesson, we're going to add user slice
In this lesson, we're going to create the login dropdown
In this lesson, we're going to persist the login information
In this lesson, we're going to finalize the login page
In this lesson, we're going to change the basket logic
In this lesson, we're going to change the basket logic in frontend
In this lesson, we're going to create private route component
12 Lessons1 Hours 43 Minutes
In this lesson, we're going to set up Stripe
In this lesson, we're going to set up Stripe payment service
In this lesson, we're going to set up Stripe payment service
In this lesson, we're going to set up Stripe to our frontend
In this lesson, we're going to build the checkout component
In this lesson, we're going to make an API call to get payment intent from the server
In this lesson, we're going to make a function which will make the payment
In this lesson, we're going to make clear basket endpoint
In this lesson, we're going to create the purchase courses endpoint
In this lesson, we're going to see how to securely store user secrets
In this lesson, we're going to create an endpoint for current user
In this lesson, we're going to show a loader when app is fetching data
6 Lessons1 Hours 16 Minutes
In this lesson, we're going to display user courses
In this lesson, we're going to create lectures backend
In this lesson, we're going to create lectures controller
In this lesson, we're going to create our lecture slice
In this lesson, we're going to create the lecture page
In this lesson, we're going to centralize frontend errors
6 Lessons1 Hours 51 Minutes
In this lesson, we're going to give an option to become an instructor
In this lesson, we're going to create an addRole endpoint
In this lesson, we're going to create the instructor page
In this lesson, we're going to work on creating the course page
In this lesson, we're going to work on sections backend
In this lesson, we're going to work on sections frontend
2 Lessons 14 Minutes
In this lesson, we're going to update the project to .net6
In this lesson, we're going to add .net6 features to our application
5 Lessons 40 Minutes
In this lesson, we're going to create build for frontend
In this lesson, we're going to see how to serve client app from our backend
In this lesson, we're going to switch from sqlite to a production database
In this lesson, we're going to give final touches to our application
In this lesson, we're going to set up Heroku for deployment
9 Lessons1 Hours 8 Minutes
In this lesson, we're going to set up our TypeScript project
In this lesson, we're going to add typescript file to our project
In this lesson, we're going to add lite server to our project
In this lesson, we're going to learn how to use types in TypeScript
In this lesson, we're going to learn how to use object types in TypeScript
In this lesson, we're going to add lite server to our project
In this lesson, we're going use TypeScript with the functions
In this lesson, we're going to study the unknown and never type in TypeScript
In this lesson, we're going to learn how to configure your TypeScript project
Learnify can help you save time, money, and frustration vs. going with other courses.
Other Courses | ||
Complexity | Build a production-ready app | Another todo list |
Depth | Covers all of the details including structure, organization, tooling, and deployment. | Leaves you wanting more, wondering how to build a "real" application. |
Interoperability | Build one unified application in-depth. | A bunch of different tutorials that don't fit together. |
Community | Support from classmates and teachers in our Discord community. | On your own |
Code Examples | Complete, downloadable, organized code files for each lesson | Spotty, questionable code examples. |
Time Commitment | 20 hours of video with clear, step by step instructions. | Without a linear path you can waste months and get nowhere. |
Accountability | Satisfaction guaranteed - refund at any time. | Stingy refund policies, if any. |
Flexible plans designed for everyone
Includes
Everything in the Pro plan and...
Here are answers to some common questions
We assume you know have beginner level development experience with JavaScript and C# and a very basic understanding of React. With that said, we spend as much time as we can to ensure that we introduce and explain all the technologies we intend to use before we use them. The course does not teach you how to program from scratch. We delve into intermediate/advanced code.
You will be given access to the full course material right away in your newline account library. You can login to download the code from the Masterclass Welcome Page and begin watching the videos immediately.
When joining the course, you'll be invited to our community Discord where you can chat with fellow students.
If you're unhappy with the course for any reason, just reach out to us and we'll give you a full refund. There's no risk.