
Learn how to use ASP.NET Core to build cross-platform, high-performance web apps, APIs, and cloud microservices. Explore its modular, flexible design and core features like controllers and routing.
Learn the essential prerequisites for ASP.NET Core MVC, including HTML and CSS basics, optional bootstrap and git, and how to install Visual Studio to write and run ASP.NET code.
Explore the basic structure of an ASP.NET Core MVC app, from program.cs as the entry point to endpoints, controllers, views, and models, plus static content in wwwroot.
Compare ASP.NET Core and ASP.NET Framework to understand cross-platform, cloud-ready design versus Windows-only, enterprise legacy capabilities. Learn when to choose each for modern, high-performance web apps or legacy enterprise projects.
Build a dynamic restaurant ordering system with admin and user areas, managing categories, dishes, orders, statuses, authentication, a shopping cart, and database powered front-end and back-end with image handling.
Find and clone the course code on GitHub by searching net restaurant. Download the zip or clone the master branch and compare with the final code.
Explore the MVC pattern in ASP.NET Core and how models, views, and controllers organize data, UI, and user requests, with controllers bridging model data and views to render responses.
Explore creating controllers in an MVC project, and learn common results like view, JSON, AJAX interactions, redirect to action, and file downloads using virtual and physical file results.
Create an empty controller and an error controller, customize routes, and demonstrate parameterized actions that validate book IDs, convert strings, and redirect to not found or bad request pages.
Explore how asp.net core mvc views render the user interface with razor. Attach a razor view to a controller and use @ for C# to show content when authenticated.
Learn to implement the view model pattern in MVC by creating a user VM with name, is admin, and picture path, and render it in views.
Learn to display a user and its products using multiple view models, including a user products view model and a product view model, in a single page.
Learn how to pass data from the controller to a Razor view using ViewBag and ViewData, with examples like time now and compliment, without using a model.
Learn to apply a dedicated login layout for the login page, hide navigation, and load CSS, using a custom login layout and the render body convention in ASP.NET Core MVC.
Identify the viewstart file and set the login layout as the default layout rendering. See the welcome page adopting the login layout as its default.
Discover how ViewImports in ASP.NET Core MVC simplifies namespace usage by declaring view models with the using keyword, so views auto recognize userproductsVM without repeated namespace declarations.
Learn how to use partial views in ASP.NET Core MVC to display user details across pages without repeating code, by using a shared folder, layout, and HTML helpers.
Learn how forms enable user input and server processing in ASP.NET Core MVC, including a sign up form bound to RegisterVM and posted via http post for account creation.
Master ASP.NET Core MVC to build forms, specify action and post method, bind view model properties, and render labels, text boxes, password fields, and validation messages.
Explains data annotations in ASP.NET to enforce required fields, display names, and string length rules. Demonstrates a UserVM, a user controller with edit actions, and ModelState.IsValid validation flow.
Explore data annotations in ASP.NET Core MVC, enforcing age range 18–60, email address validation, and password confirmation with compare, while handling required fields and ModelState validation to navigate to home.
Learn client side validation in asp.net core mvc by adding jquery validate and unobtrusive validation scripts, enabling real-time feedback for fields like first name and age.
Learn remote validation in ASP.NET Core MVC with a remote data annotation to check email availability via a user controller action that returns 'email is already in use' or ok.
Explore the data annotation for validating email availability in ASP.NET Core MVC by creating an is email available action that returns json indicating email is already in use or true.
Explore html helpers and tag helpers in ASP.NET Core MVC, comparing syntax, usability, advantages, and limitations for generating html in Razor views.
Explore differences between HTML helpers and tag helpers in ASP.NET Core MVC by building a form with a view model, dropdowns, text areas, and terms checkbox, posted to a controller.
Learn how entity framework core, an object-relational mapper, lets you interact with databases using dotnet objects. Boost productivity with strongly typed models, cross-platform support, and database provider independence via linq.
Configure entity framework core in an asp.net mvc app, install packages, set development connection string in appsettings, create an application db context and a product dbset, then apply migrations.
Master CRUD operations in ASP.NET Core MVC using Entity Framework by scaffolding a controller with views, wiring create, read, update, and delete flows, and validating model state.
Learn about table relationships in relational databases, including one-to-one, one-to-many, and many-to-many. See how Entity Framework Core uses navigation properties, fluent API, or annotations in code.
Explore how to implement a one-to-many relationship between categories and products by adding a category entity, defining id and name, and wiring navigation properties with migrations and foreign keys.
Create a category management flow with a controller and views, using view models for validation and a category dropdown, and use include to eagerly load category and product data.
Master a many-to-many relationship by building a shipping cart where products appear in many orders and orders contain many products, using entity framework migrations and a join table.
Explore adding products to a cart via the product controller, handling a many-to-many order relationship with entity framework, and using temp data, view bag, and save changes for user feedback.
Explore building a scalable restaurant order management app with asp.net core mvc, covering users, dishes, categories, orders, image uploads, table management, search, and CRUD operations, guided by clean architecture.
Learn how clean architecture organizes code into four layers with a domain core, infrastructure, services, and UI, keeping business logic independent for maintainability, testability, and easy framework or database changes.
Create the core domain layer by building a net restaurant.core class library, define user, dish, category, and order entities with an order status enum, and push code to GitHub.
Build the infrastructure layer with a class library, add application DbContext and DbSets for category, dish, order, and user, and define a generic IRepository with CRUD.
Transform your repository into asynchronous operations using task-based methods and await EF calls, including add async, tolist async, first or default async, and save changes async for faster data access.
Implement repositories for all entities by duplicating the user repository to create category, dish, and order repositories, updating names with replacement; next, build the UI and migrations.
Create the ASP.NET Core MVC UI and wire up the database context using EF Core, SQL Server, and migrations to build tables, including a many-to-many dish-order relationship.
Design and implement the admin layout with a logo, a Bootstrap navigation for orders and dishes, and a collapsible menu, while customizing the primary color via a custom css file.
Build admin layout by adding menu links and a footer with icons for categories, users, and dishes. Use a fixed footer and responsive flex layout, and learn about admin areas.
Create an admin area in an ASP.NET Core MVC app to separate admin and regular users, configure admin routing, and apply area-specific views and layout, with upcoming login protection.
Implement a login action in the login controller, validate credentials with the user repository, create claims, sign in with an admin cookie, and redirect to the home index.
Seed an admin user by overriding on model creating, add seed data with an admin entry, hash the password with bcrypt.net, apply a migration, and verify login.
Build an admin login form in the admin area with a login view model for email and password, add input validation, and register a user repository service for login index.
Compare hashed passwords and implement authentication in ASP.NET Core MVC by verifying passwords with a crypt library, configuring admin cookie authentication, and protecting admin routes with redirects.
Protect your routes by applying authorization to the admin area, using a custom admincookie, and redirecting unauthenticated users to the admin login. Cookies expire in two hours, requiring re-login.
Create an admin users table with the datatable library to list ID, name, email, address, and admin, with edit and delete actions, using ASP.NET Core MVC, Bootstrap 5, and jQuery.
Map user entities to user VM using AutoMapper, configure services, and implement an asynchronous edit action with reverse mapping to streamline property binding.
Develop a user form in the view with email and password validation, bind to a user VM, and enable edit and create actions in ASP.NET Core MVC with bootstrap styling.
Implement a post action that maps a user VM to a user entity, hashes the password with a bcrypt library, and creates or updates via the repository.
Implement user feedback with Toastr in ASP.NET Core MVC, using temp data for success and error messages in the layout, console logging, and delete feedback with friendly messages.
Add a sign-out toolbar to the app layout, implement http context sign out async with a redirect to login, and show the logout option only when the user is authenticated.
Build the category module in ASP.NET Core MVC by creating a category controller, category view model, repositories, and shared partials for toastr and data table, plus map category data.
Build orders module in an asp.net core mvc app to let admins view orders and users place them, implementing the orders controller, repository, and a list view with created at.
Build the dishes module by creating a dishes controller, dish VM, and mapping profiles, populate category lists, and implement views for index and edit with price validation.
Learn to add dish images by uploading via IFormFile, previewing the image, and sending multipart form data to save an image URL.
Build a user area in an ASP.NET Core MVC app by creating a dishes controller and an async data flow to render dish cards with images, titles, times, and prices.
Build a dish management UI in ASP.NET Core MVC by configuring dish entities and view models, adding color categories, and validating minimum and maximum time with regex and jQuery mask.
Preserve existing dish images when no new file is provided, improve layout and navigation, and use mapper.map to update existing dishes and avoid EF Core tracking issues.
Display a list of dishes with images, category color badges, names, descriptions, prices, and formatted minimum and maximum times in hours and minutes, redirecting unauthenticated users to login when ordering.
Create a login flow in the normal area by building a login partial and login VM, wiring a Bootstrap modal and a login controller for post authentication.
Implement a dynamic register form in the ASP.NET Core MVC app, switchable with the login form, map a user VM, and authenticate via user cookies.
learn to enhance an ASP.NET Core MVC login form with Ajax to call the login endpoint, return json with success and redirect url, and show toastr notifications.
Explains implementing order functionality in an ASP.NET Core MVC app by adding dishes to a pending user order and exposing a JSON add-item endpoint with authentication and item-count retrieval.
Implement a shopping cart in the layout with an authenticated order button, use a dish-id data attribute, and post items via order.js ajax, updating the cart count and Toastr alerts.
Implement the order UI in an ASP.NET Core MVC app by authenticating users, creating and updating orders, preventing duplicate dishes, and sending json responses with Toastr messages.
Fix the bug in displaying the dishes count by moving styling, introducing an asynchronous order count request, and updating the UI with the retrieved item count from a json endpoint.
Display the current cart by retrieving the user’s pending order from the order repository, show the items and order info, and provide a finish ordering action.
Remove item from order in ASP.NET Core MVC by adding a repository method with dish id and order id, wiring it to the cart flow and async operations.
Finish ordering by retrieving the order ID, updating its status to processing via the order repository, and redirecting to a thanks screen with an option to view order history.
Demonstrates building an order history page in asp.net core mvc by querying the order repository for a user's orders and displaying them with status in the history view.
Learn to manage history actions in an ASP.NET Core MVC app by controlling finish and cancel operations, displaying pending orders, and linking cart, details, dishes, and categories.
Learn how admins view orders and change statuses using a dynamic user interface, including a status button helper and a set-status action in the admin area.
Learn to implement a dish filtering feature in ASP.NET Core MVC using a dish filter VM and get filtered dishes method with min and max price, category id, and search.
Implement a dishes filtering view using a get form, binding a filter view model, and query by search, min price, max price, and category to display filtered results.
This course is for developers who want to master ASP.NET Core MVC by focusing on the essential features that are necessary for daily work in the field of web development. Whether you're new to web development or already familiar with basic concepts, this course provides practical, hands-on experience in building real-world applications.
You’ll dive into the key concepts of routing, controllers, views, and data binding. These are the fundamental building blocks of ASP.NET Core MVC. You’ll learn how to structure web applications using the Model-View-Controller (MVC) pattern, ensuring that your applications are maintainable and scalable.
In addition to the basic concepts, this course also covers form handling, including validation techniques and model binding to simplify working with data in your applications. You'll understand how to handle user input securely, and learn how to interact with databases using Entity Framework to build data-driven applications.
We will also explore Tag helpers, HTML helpers, and AJAX functionality for better client-server interactions. Along the way, you will work with security practices, session management, and error handling, ensuring your applications are both robust and secure.
By the end of this course, you will be able to build dynamic, secure, and scalable applications that integrate with a database and utilize modern web practices. Get ready to bring your projects to life using the best practices in ASP.NET Core MVC development!