
Explore cross-platform ASP.NET Core development by building an MVC app with Entity Framework Core, Bootstrap 5, and Auth0, using Docker, VS Code, and .NET CLI across Windows, macOS, and Linux.
Sign up for a GitHub account, verify your email, and sign in to access your profile and repositories. Explore how public projects enable collaboration and contributions.
Install the latest .NET SDK across operating systems, download SDK 10 with long-term support, verify with dotnet --info, and set up your IDE for cross-platform ASP.NET Core development.
Install Visual Studio Code to create a free, cross-platform development environment for ASP.NET Core on Mac, Windows, or Linux, with Explorer, remote explorer, source control, run and debug, and extensions.
Learn how to install Visual Studio 2022 on Windows or Mac, choose the ASP.NET and web development workload, and compare Visual Studio with Visual Studio Code for cross-platform web development.
Discover how to download and install SQL Server Express 2017, set up SQL Server Management Studio, and begin interacting with databases through SQL queries and connection strings.
Learn to run SQL Server in Docker containers on any operating system by pulling the Microsoft MySQL server image, mapping ports, and connecting with Azure Data Studio.
Azure Data Studio is a cross-platform database tool for Windows, macOS, and Linux that connects to data sources, including Azure. Download options include Windows installer, zip, macOS, and Linux installations.
Create a cross-platform asp.net core mvc web app with the dotnet cli, verify installation via dotnet info, generate with dotnet new mvc -o, and open in visual studio code.
Create an ASP.NET Core MVC project in Visual Studio by selecting the MVC template and .NET 7. Run locally with HTTP/HTTPS profiles and explore the solution explorer.
Explore Visual Studio Code and its core features for .NET development. Learn the explorer, search and replace, built-in terminal, extensions, git integration, and run and debug.
Explore the ASP.NET Core project structure—from bin and wwwroot to controllers, actions, views, and models—and learn cross-platform routing and publishing workflows.
Push your ASP.NET Core project to a new GitHub repository, linking Visual Studio Code to a remote server. Manage ignores, commits, pushes, and pulls to keep code synced and accessible.
Explore how the layout file powers the dynamic HTML template and how Bootstrap and its CSS enable easy nav bar customization with color themes.
Create an about us page in an ASP.NET Core MVC app by adding a home controller about action, a corresponding view, and updating navigation with Razor tag helpers.
Commit and manage changes in a source control system for an ASP.NET Core project, tracking added images, new views and controller actions, then compare changes and stage or discard changes.
Connect to a Docker-hosted Microsoft SQL Server using Azure Data Studio by configuring port 1400, SQL login, and certificate settings, then organize connections by group.
Create a school management database using scripts, defining students, lectures, and courses with an identity primary key and constraints, then connect it to an app using Entity Framework.
Connect a .NET app to a SQL Server database using Entity Framework Core, scaffold the DbContext from an existing database, and register it in startup.
Scaffold controllers and views for create, read, update, delete using the dotnet code generator, then run the app and browse /courses to perform these operations.
Explore how a scaffolded ASP.NET Core courses controller uses dependency injection and the IOC container to access the DB context, perform CRUD operations, and apply routing, binding, and security features.
Learn how scaffolded views bind a strongly typed model, display collections with for-each, and generate create, edit, details, and delete pages using HTML helpers and routing.
Scaffold controllers and views for courses, lecturers, and students using the dotnet aspnet-codegenerator. Build navigation and test create, edit, and details pages while validating data input and types.
Commit and push after adding a database and scaffolded views and controllers, then beautify the application in the source control management section.
Enhance the application's interface by beautifying action buttons and the bootstrap table, refining spacing between sections, and preparing for cohesive styling in the next lesson with bootstrap.
Transform course links into Bootstrap buttons using BTN classes like success, primary, warning, and danger to create a consistent, colorful UI for index, create, edit, and delete pages.
Implement a dynamic delete workflow using jQuery and Sweet Alert to confirm before deleting, submit via a form, and refresh the page to reflect changes, ensuring anti-forgery protection.
Install data tables, a jQuery library that enhances tables with paging, search, and bootstrap five styling, and initialize it to transform pages with class table.
Apply data annotations to set human readable display names via a separate metadata class, then link it to the scaffolded model with model metadata type and partial classes.
Add two new tables, classes and enrollments, with foreign keys to lectures, courses, and students, to track class times and student enrollments.
Demonstrates scaffolding controllers for school data models, explains C# keyword class clashes with domain terms, and shows resolving errors by prefixing keywords and using lambda expressions before dotnet build.
Clean up the user interface with Bootstrap styling, integrate jQuery libraries, and customize labels to persist through scaffolding. Resolve syntax errors, then commit and push your progress as a checkpoint.
Understand authentication and authorization to control access, then learn to centralize identity with Auth0, a secure SaaS provider, for easy, scalable cross-platform apps.
Integrate Auth0 into a regular web ASP.NET Core app by configuring the domain and client ID, installing the Auth0 ASP.NET Core authentication package, and adding authentication.
Test authentication flows and user experience for the asp.net core app, validating sign up with email/password or social providers, handling openid connect tokens, and securing access with https and auth0.
Modify the navigation bar with a shared login partial, showing the current user when authenticated via a claims principle; add a profile page and a user profile view model.
Update shared layout to hide links for unauthenticated users, remove the privacy link from nav, and apply authorize attributes with allow anonymous where appropriate for courses, classes, and enrollments.
Commit all changes after reaching a milestone, push to GitHub, and continue to the next section.
Explore class management in ASP.NET Core by modeling one-to-many and many-to-many relationships between lecturers, courses, and students, and design the database and interface to support classes with Entity Framework.
Explore foreign keys and one-to-many relationships among students, enrollments, classes, lectures, and courses, and learn how entity framework uses navigation properties and include to fetch related data.
Explore queries in ASP.NET Core using the context and include to fetch courses and lecturer details, and manage create, edit, and delete flows with dropdown data and foreign key constraints.
Learn how to customize select lists in ASP.NET Core by projecting course and lecturer data into display fields like full name and course name, with IDs as values.
Learn to display related data in ASP.NET Core UI by replacing IDs with names using navigation properties, populating dropdowns with view data and select lists, and refining labels with metadata.
Create a class enrollment view model to support a manage enrollments page, show class details and student lists with is enrolled flags, and implement add/remove actions.
Learn to scaffold a details view for managing enrollments in ASP.NET Core, binding to a class enrollment view model and rendering a student table with add or remove actions.
Create a manage enrollments action in the classes controller, load related course, lecture, enrollments, and student data with include statements, and handle enrollment or removal via a post action.
Learn to test and debug an ASP.NET Core app using breakpoints, F5, F10, F11, and logs, inspecting variables and generated queries while stepping through enrollment workflows.
Improve maintainability by naming parameters clearly and aligning route data with the destination. Use a dedicated class view model, populate it in the controller, and render concise display strings.
Learn to manage class and enrollment data in ASP.NET Core by building view models, using navigation properties and includes, creating custom views and actions, and committing changes to GitHub.
Add a toast notification to an ASP.NET Core cross-platform app using the ASP.NET Core Hero toast notification, configuring duration, dismissibility, and position, then display enroll success and unenroll warnings.
Overview
ASP.NET Core MVC is a powerful, flexible framework for building modern web applications. This course teaches you how to use ASP.NET Core MVC to build cross-platform web applications that can run on any operating system, including Windows, Linux, and MacOS.
You will start by learning the fundamentals of ASP.NET Core MVC, including how to create and configure a new project, design the layout and structure of your application, and implement standard features such as authentication, authorization, and data validation.
As you progress through the course, you will learn how to use advanced features of ASP.NET Core MVC, such as dependency injection, middleware, and filters, to create more complex and scalable applications. You will also learn how to optimize your applications for performance and deployment.
By the end of this course, you will have a solid understanding of using ASP.NET Core MVC to build cross-platform web applications and be well-prepared to tackle real-world projects.
Whether you are new to web development or have some experience, this course will provide a comprehensive overview of ASP.NET Core MVC and help you become proficient in its use.
You will learn how to:
Build an entirely data-driven web application.
Use the dotnet command line interface and complete tasks like:
Scaffolding a database using Entity Framework Core
Generating Views and Controllers
Running and debugging an application.
Manage packages in a project.
Understand how Models, Views, and Controllers combine to facilitate a web application
Use and manipulate data models and database contexts.
Understand how to add views and actions to a controller
Use Bootstrap 5 to manipulate the web application's overall look and feel.
Use GitHub for source control management.
Use popular cross-platform development tools like:
Visual Studio Code
Azure Data Studio
Docker
Add OpenID Connect authentication using Auth0
Content and Overview
To take this course, you must have some knowledge of HTML, CSS, and Object Oriented Programming, if not with C#. Even if you have little exposure to the .NET development stack, this course is beginner-friendly and full of development tips.
This course has several hours of premium content but is smartly broken up to highlight related activities based on each module in the application being built. We will also look at troubleshooting and debugging errors as we go along, implementing best practices, writing efficient logic, and understanding why developers do things the way they do. Your knowledge will grow, step by step, throughout the course, and you will be challenged to be the best you can be.
By the time you have finished the course, you will have moved around in Visual Studio and examined logic and syntax errors so much that it will be second nature for you when working in the .NET environment. This will put your newly learned skills into practical use and impress your boss and coworkers.
The course is complete with working files hosted on GitHub, including some files to make it easier for you to replicate the demonstrated code. You will be able to work alongside the author as you work through each lecture and will receive a verifiable certificate of completion upon finishing the course.
Clicking the Take This Course button could be the best step to increase your income and marketability quickly! Also, remember that if you think the course is not worth what you spent, you have a full 30 days to get a no questions asked refund!
It's time to take action!
See you in the course!