In this course, I teach you how to build a real-world application with ASP.NET Core, Entity Framework Core and Angular.
Mosh Hamedani – Build a Real-world App with ASP.NET Core 1.0+ and Angular 2+
ASP.NET Core is the next generation of ASP.NET MVC. It’s a complete re-write of this framework but in a modular, cloud-optimized and cross-platform way. So it can run on Windows, Linux and Mac. If you’re on Mac or Linux and want to build ASP.NET applications without running Windows in a virtual machine, you’re going to love ASP.NET Core! You can use Visual Studio Code (VSCode) or your favorite code editor to build ASP.NET Core applications with C#. Say goodbye to VMWare, Parallels, and other virtualization software.
Many companies have already ed building their new applications with ASP.NET Core. And they’re asking their new interviewees if they are familiar with .NET Core. So, whether you want to stay in the marketplace and get a better job with better pay, or you just love to work with the latest technology, it’s time to learn about ASP.NET Core and Entity Framework Core.
In this course, I teach you how to build a real-world application with ASP.NET Core, Entity Framework Core and Angular. If you’re familiar with ASP.NET MVC 5 and Entity Framework 6 and are looking for a course to quickly get up to speed with .NET core, this is the course for you. Not only will you learn about the changes and the new tooling in ASP.NET Core, you’ll also learn how to properly integrate it with Angular to build real-world single page applications (SPAs).
A REAL-WORLD APP
The app you build in this course is for an imaginary vehicle dealer. I’ve carefully designed the features in this app to help you master the core skills you need to build real-world apps with ASP.NET Core and Angular.
By the end of watching this course, you’ll be able to:
Build APIs with ASP.NET Core
Test APIs with PostMan
Integrate Angular and ASP.NET Core
Implement a clean and decoupled architecture
Understand and apply the Dependency Inversion Principle (DIP)
Properly implement the repository and unit of work patterns
Use the new dependency injection feature in ASP.NET Core
Troubleshoot common runtime errors
Store and retrieve data with Entity Framework Core (code-first workflow)
Use AutoMapper
Implement CRUD operations (including one-to-many and many-to-many relationships)
Implement filtering, sorting and paging data
Handle and logging errors
Display toast notifications
Implement cascading drop-down lists
Implement photo upload with progress bars
Add authentication and authorization with Auth0 (including roles with different privileges)
Display charts
And more…
On top of all these, you’ll learn how to write quality code, not just how to build apps. There are a lot of developers out there who can build apps but they write poor quality code. I show you how to refactor bad code into clean, maintainable and quality code. I also share my knowledge and 15 years of experience about software design and architecture. So this course is more than just technology. It teaches you how to think like a software engineer.
These are the essential skills that you take with you to nearly every real-world project. Whether you want to get prepared for a job interview or simply want to take your coding skills to the next level, this course is the means to the destination.
THE TOOLING
There are two ways to build ASP.NET Core applications. You can use Visual Studio 2017 or Visual Studio Code, a light-weight cross-platform code editor. In this course, I use VSCode and the command-line to build an app, but what you learn can be applied in Visual Studio 2017 as well.
WHO THIS COURSE IS FOR
In order to take this course, you should have at least 3 months experience with ASP.NET MVC 5, Entity Framework 6 and Angular 2 (or higher).
Get immediately download Mosh Hamedani – Build a Real-world App with ASP.NET Core 1.0+ and Angular 2+
If you need to strengthen your understanding of these frameworks, you can watch my related courses prior to or in parallel with this course:
Angular 4: Beginner to Pro
The Complete ASP.NET MVC 5 Course
Entity Framework 6 in Depth
60 DAY CHALLENGE PROGRAM
Depending on your level of experience, there are different ways to take this course. You can watch it, section by section, just like other courses. You may prefer to code along with the videos or watch a section first and then code.
But if you like to get out of your comfort zone and take your coding skills to the next level, you should take advantage of the 60 day challenge program that comes with this course.
Imagine you and I are team mates and are working on a real-world project. Every week I give you a challenge or a task to complete. You have one week to complete this task. The following week I publish a new section and show you how he completes that task myself. This is a fantastic learning opportunity for you. You can compare your code with mine and find areas for improvement.
WHAT THIS COURSE IS NOT
While you use ASP.NET Core and Entity Framework to build an app, the focus of this course is on application building skills and not a deep overview of ASP.NET Core and Entity Framework. Because in any real-world applications, you use only a subset of the features in any frameworks. So, it’s impossible to cover everything about ASP.NET Core and Entity Framework in one app. But you’ll learn about the key things that you need to know in order to get the job done.
Also, the following topics are outside the scope of this course:
Complex domains and domain-driven design (DDD)
Design patterns
Continuous integration and deployment
Automated testing
Finally, the application you’ll build in this course has a very simple user interface since the focus of this course is on coding not building visually engaging user interfaces.
Join 37389 happy students!
Your Instructor
Mosh Hamedani
Mosh Hamedani
Hi! My name is Mosh Hamedani. I’m a software engineer with two decades of experience. I’ve taught millions of people how to code and how to become professional software engineers through my online courses and YouTube channel.
I believe coding should be fun and accessible to everyone.
Course Curriculum
Getting ed (1h)
Course Introduction (1:45)
Scope (5:30)
Prerequisites (1:13)
Application Requirements (2:20)
Setting Up the Development Environment (5:44)
Installing SQL Server on macOS : Linux (9:26)
Creating a Project (4:11)
Project Structure (4:53)
Application up (7:02)
Environments (4:55)
.NET Watch (2:47)
Debugging in VSCode (2:12)
Working with Git (1:05)
Use Cases (5:20)
Follow Me Around
Building API’s with ASP.Net Core (1h)
Introduction (0:58)
Impementation Options (1:59)
Building the Domain Model (4:59)
Installing Entity Framework Core (4:39)
Creating a DbContext (4:14)
Using Configuration (4:06)
Creating the Database (8:30)
Applying Constraints (5:28)
Seeding the Database (7:16)
Building an API (3:51)
Common Runtime Errors (2:44)
API Resources (3:32)
AutoMapper (6:08)
Challenge 2- Building Forms
Building Angular Forms (50m)
Introduction (0:47)
Creating an Angular Component (4:13)
Creating a Route (1:42)
Building a Bootstrap Form (3:49)
Creating a Service (3:10)
Populating Drop-down Lists (3:30)
Implementing the Cascading Behaviour (7:25)
Rendering Dynamic Checkboxes (4:42)
Refactoring- Merging Services (6:04)
Discussion- Merging Controllers (3:46)
Adding Radio Buttons (2:51)
Adding Text Boxes-final (2:12)
Challenge 3- Building APIs for CRUD Operations
Implementing CRUD Operations – API’s (1h10m)
Introduction API (0:34)
Revisiting the Domain Model (1:31)
Extending the Domain Model (3:15)
Dealing with Many-to-many Relationships (6:08)
Building an API to Create an Object (2:55)
Why API Resources Should be Different from Domain Classes (6:00)
Creating API Resources (2:12)
Mapping API Resources to Domain Objects (5:14)
Adding a Record to the Database (5:26)
Implementing Validation (9:55)
Building an API to Update Objects (4:09)
Mapping Collections (6:15)
Refactoring Using LINQ (6:11)
Building an API to Delete an Object (2:40)
Building an API to Get an Object (2:02)
Challenge 4- Refactoring Towards the Clean Architecture
Refactoring Towards the Clean Architecture (1h15m)
Introduction (1:00)
Separating API Resources (6:03)
Refactoring- Separating API Resources (6:19)
Refactoring- Using Key Value Pairs (4:37)
Changing the Return Type of APIs (4:40)
Repository Pattern (2:33)
Dependency Injection (5:15)
Decoupling from Entity Framework (8:54)
The Unit of Work Pattern (6:55)
Fixing a Few Bugs (3:32)
False Argument 1- Repository over Repository (3:57)
False Argument 2- Increased Complexity (0:36)
False Arguments 3- Simple or Complex Apps (1:27)
False Argument 4- Repository coupled to EF (4:44)
False Arguments Against the Repository Pattern (2:49)
Dependency Inversion Principle (6:32)
Layers vs Tiers-final (2:57)
Challenge 5- Populating and Submitting Forms
Populating and Submitting Forms (1h25m)
Introduction (0:35)
Binding the Drop-down Lists (3:51)
Binding the Dynamic Check Boxes (2:45)
Binding the Text Boxes (1:22)
Submitting the Form (2:00)
Client-side Validation (3:53)
Displaying Toast Notifications (7:25)
Global Error Handling (5:00)
Zones in Angular (7:58)
Logging Errors (5:41)
Get immediately download Mosh Hamedani – Build a Real-world App with ASP.NET Core 1.0+ and Angular 2+
Development vs Production Environment (3:04)
Implementing Editing (5:32)
Sending Parallel Requests (4:59)
Creating Interfaces (6:26)
Populating the Form (2:39)
Implementing the Delete (2:46)
Challenge 6- Filtering, Sorting and Pagination
Filtering, Sorting and Paging (1h20m)
Introduction (0:29)
Code Review (3:11)
Adding the Filters (4:38)
Filtering on the Client (3:36)
Filtering on the Server (4:33)
Passing the Filters to the Server (6:22)
Sorting Data on the Server (4:32)
Refactoring- Using Dictionaries (4:49)
Refactoring- Extract Method (2:19)
Refactoring- Extension Methods (7:46)
Sending the Sort Parameters to the Server (2:23)
Adding the Sort Icons (3:26)
Rendering Columns Dynamically (2:58)
Implementing Paging on the Server (5:22)
Pagination Component (2:58)
Calculating the Total (5:52)
Edge Cases (3:27)
Challenge 7
Additional Resources
Uploading Photos (1h15m)
Introduction (0:21)
The Approach (3:12)
Code Review (4:56)
Extending the Domain (2:15)
Building an API (10:44)
Testing the API (1:26)
Implementing Validation (3:04)
Using Configuration (5:33)
Building the Client-side (6:40)
Rendering the Uploaded Photos (4:47)
Tracking the Upload Progress (7:32)
Adding a Bootstrap Progress Bar (4:47)
Fixing the Memory Leaks (7:48)
Handling the Errors (3:10)
Challenge 8- Authentication and Authorization
Authentication and Authorization (1h45m)
Introduction (0:57)
Authentication Requirements (0:57)
Architecture (4:55)
Setting Up an Auth0 Account (2:20)
Securing APIs (4:37)
Inspecting a JWT (0:48)
Securing Client Apps (7:29)
Login and Logout (6:40)
Hosted Login Pages (4:30)
Setting the Audience (8:09)
Break (0:43)
Getting the User’s Profile (5:29)
Adding Additional Signup Fields (4:44)
Using Rules (3:32)
Assigning Users to Roles (2:18)
Showing or Hiding Content (6:57)
Refactoring (6:12)
Protecting Routes (6:47)
Calling Secured APIs (5:40)
Restricting API Access to Certain Roles (3:34)
Implementing the Authorization Requirements (2:28)
Additional Resources
Final Improvements (25m)
Adding Carts (4:37)
Optimizing Queries (3:55)
Fixing a Bug (1:59)
Extracting a Service Layer (12:28)
Supporting Multiple Storages (6:41)
Using the Secret Manager (8:17)
Frequently Asked Questions
When does the course and finish?
The course s now and never ends! It is a completely self-paced online course – you decide when you and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like – across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Read more: https://archive.is/dmLQ7
Course Features
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All levels
- Language English
- Students 400
- Assessments Yes