
Develop a practical ASP.NET Core 8 MVC CMS and e-commerce project from scratch, featuring a WYSIWYG admin, product catalog with gallery images, cart, checkout, and user roles (customer and admin).
Create a new asp.net core 8 mvc cms e-commerce project in visual studio 2022, explore home controller, index action, and routing patterns that map to controller and action.
Explore the MVC project structure by walking through dependencies, the lib folder, controllers, models, views, and the shared layout, then connect settings, services, and routing in program.cs and appsettings.
Install EF Core packages, create a data context, and register it with SQL Server in program.cs using a localdb connection string to set up CMS e-commerce database and run migrations.
Create a page model with ID, title, slug, and body, configure a pages DbSet, and apply a migration to build pages table in the ASP.NET Core 8 MVC CMS project.
Seed pages in an ASP.NET Core 8 MVC CMS by adding home, about, services, and contact entries via a data context, migrations, and updates.
Create and invoke a menu view component in ASP.NET Core 8 MVC, fetching pages via a data context and rendering them in a shared view under Views/Shared/Components/Menu/Default.
Create a pages controller and a slug-based route to serve dynamic content from pages, using an index view with a page model body and optional slug in program.cs.
The pages controller retrieves a page by slug using a data context, defaults to home if slug is empty, and renders the page with async action result and a title.
Create and configure the admin area in an ASP.NET Core 8 MVC project by scaffolding an admin area, adjusting routing and layouts, and centralizing admin views and shared components.
Add a dashboard controller to the admin area, annotate with the admin area attribute, create an empty index view, and use tag helpers for admin links and layout.
Add a pages controller in the admin area, set the area route, and create an index view using the list template with the pages model and the data context.
Explore creating a get create page in an ASP.NET Core 8 MVC project, using segment and query string routes, and building a Razor view with a post form and validation.
Enable http post for post creation and validate with data annotations, anti-forgery token, required fields, and minimum length; generate a unique slug, save changes, and redirect to index.
Turn the create page into a wysiwyg editor with CKEditor and enhance validation by adding jQuery validation, using layout section scripts and a partial view in ASP.NET Core MVC.
Edit page in an ASP.NET Core 8 MVC CMS demonstrates updating a page with model binding, slug logic for the home page, and post-save redirect to the index.
The lecture demonstrates implementing a delete page in the ASP.NET Core MVC CMS, including template identification, safeguarding the home page, handling nulls, and redirecting to the index after removal.
Display temp data notifications via a shared partial, using Bootstrap alerts for success and error, and fade them out after two seconds.
Enable drag-and-drop ordering for CMS pages by adding an order column, updating the database via a migration and a reorder pages action, and using jQuery UI sortable in admin.
Add category and product models with properties and foreign key relationships, configure validation, a default image, and a not mapped image upload field; update the data context and run migrations.
Seed categories and products in the data context with IDs, names, slugs, descriptions, prices, and images, then add a migration and update the database, plus organize media in media/products.
Create a custom file extension validation attribute to validate product image uploads in an ASP.NET Core 8 MVC CMS project by checking file extensions for jpg and png.
List admin products in the admin area by building a products index with a Razor list view, showing product name, price, category name, and images, with edit and delete options.
Showcases the admin get create product workflow: configure categories as a select list via view bag, build a Razor create view with image upload, live preview, and a wysiwyg description.
Explore the admin create product post in an asp.net core 8 mvc cms and e-commerce project, handling category selection, slug checks for uniqueness, image uploads, and saving the product.
Learn how to implement admin get edit product in an ASP.NET Core 8 MVC CMS and e-commerce project, including fetching by id and preparing the edit view.
Modify the edit view to validate image uploads, preserve the current image name, delete old images when replacing, ensure slug uniqueness, and redirect after a valid post.
Integrate Dropzone v6 to upload multiple product images via a multipart form, appending the product id to organize uploads in the media folder.
Handle post requests to upload images from a dropzone by saving files to media/gallery/{productId}, creating the folder if needed, and returning a 200 status.
Learn to display gallery images in the product edit view by adding a not mapped gallery images property and enumerating files from the uploads folder for rendering.
Add a delete image action in the edit view with a confirmation and ajax post to remove the image; the server deletes the image file and the UI fades out.
Implement admin delete product in ASP.NET Core 8 MVC by locating the product, removing its image and gallery assets from media folders, and redirecting to index with a success message.
Add a category filter to the admin products index by passing the selected category ID as a query string. This filters products by category or shows all when zero.
Learn to implement pagination for a product listing in an ASP.NET Core 8 MVC CMS and e-commerce site using a custom tag helper, page size, and category filtering.
Implement admin product pagination in the index view using a bootstrap div and pagination tag helper. Pass page count, page target, page number, and page range.
Finish the admin products pagination by appending category ID to every page link through query strings, pass the category ID to the view bag, and verify correct navigation.
Create a categories view component to display categories as links in the front end, passing category slugs to the products controller and rendering a styled list.
Demonstrates building a front-end products view by category in an ASP.NET Core 8 MVC CMS and e-commerce project, using slug routing, category validation, and pagination.
Perform a front pagination fix and cleanup in ASP.NET Core 8 MVC CMS by removing redundant query strings, refactoring to front-pagination, and updating menu routing.
Enable sessions in asp.net core 8 mvc cms and e-commerce project by extending ISession with SetJson and GetJson to serialize objects, and set a 30-minute idle timeout with essential cookies.
Add a product details page in an ASP.NET Core 8 MVC CMS, linking from products to a slug-based route, display product data and gallery images for a richer detail view.
Add a fancy box image gallery to product details, fix routing for admin and menu items, and integrate Libman assets to enhance the ASP.NET Core 8 MVC project.
Create a small cart view component that shows item count and total amount, including an empty cart, using a small cart view model and cart item model stored in session.
Implement a cart controller and add-to-cart method that fetches a product by id, manages a session-backed cart, updates quantity, saves to session, and redirects back to the referer.
Build a cart index in asp.net core 8 mvc by introducing a cart view model, calculating grand total (price×quantity), and rendering an interactive cart with add, decrease, and remove actions.
Fix cart index issues and implement clear cart in an ASP.NET Core 8 MVC CMS and e-commerce project. Learn item id correction, totals updates, image display, and session-based clearing.
Implement cart decrease and remove functions in the mvc controller, updating item quantities, removing items when quantities reach zero, refreshing the session, and redirecting to the cart index.
Enable identity in a ASP.NET Core 8 MVC CMS by adding identity core, configuring identity options with a minimal password and unique emails, and updating the database with migrations.
Create a user model for registration with username, email, password, and confirm password, and enforce validation rules including required fields, email format, minimum length, and passwords must match.
Add an account controller and a register razor view linked to the user model, with routing in program.cs for account/register and fields for username, email, password, and confirm password.
Seed roles on startup using a scope and role manager, creating admin and customer roles. Register new users with user manager, assign roles, handle errors, and redirect home.
Enable authorization in an ASP.NET Core 8 MVC project by configuring identity options, adding authorization policies, and applying [Authorize] to controllers or actions, enforcing admin and customer roles.
Add login functionality with a login view model for username and password. Use sign in manager to authenticate and redirect with the return URL, showing an invalid username or password.
Add identity links to the layout, conditionally displaying account, login, and register options based on authentication and roles (admin or customer), and implement logout functionality.
Explore implementing a secure admin area in ASP.NET Core 8 MVC with logout functionality, admin authorization, and redirects from registration to login, using partial views and authenticated checks.
Check user identity in the cart view to show the checkout link only for logged-in users and indicate this with a 'you must be logged in to check out' badge.
Create order and order detail models in an ASP.NET Core 8 MVC CMS and e-commerce platform, configure tables, migrations, and a database update to support checkout and orders.
Create an orders controller that uses the data context and sign-in manager to build an order from the cart, save order details, clear the cart, and show an order confirmation.
Add a per-user orders list in the account controller by querying orders by username with data context, and display order number, grand total, date, shipped status, and a details link.
Create an order details view model containing an order and its details, fetch by id in the account controller, and render the order details view.
Create the admin orders list in admin area of ASP.NET Core 8 MVC, showing order number, username, grand total, and shipped date, with a post form to update shipped status.
Use a jQuery onchange trigger to submit a form that updates an order's shipped status in ASP.NET Core MVC CMS and e-commerce platform, then save changes and show success.
Enforce lowercase URLs in an ASP.NET Core 8 MVC CMS and e-commerce project and implement an active link highlight across the navigation with layout, view components, and CSS.
Are you looking for a practical, hands-on course that will teach you ASP.NET Core 8 MVC from scratch?
If you like learning by doing then this is the course for you!
In this course I will walk you through creating a big project which includes a CMS and an E-Commerce platform using the latest and greatest C# 12, starting at the very beginning by explaining what the files and folders of the application do.
By completing this one course and understanding the code you will become an ASP.NET Core developer, being able to build your own custom ASP.NET Core 8 MVC applications and be able to tackle any project that comes your way!
You only need to be familiar with C#, have the free Visual Studio 2022 IDE and a willingness to learn!
Also, I do not use any complex patterns, such as the repository pattern, we will use Entity Framework Core directly in this course.
Why?
Because I believe that if you are a beginner you should not over-complicate things.
You should learn and understand how to do things at a lower level and after that you can abstract away as much as you like, as opposed to abstracting right away.
I cover a lot in this course, such as:
Controllers
Views
Models
View Models
Entity Framework Core
Migrations
Asynchronous code (async/await)
Creating databases and tables
Seeding
Packages
Package Manager Console
Areas
Pagination
jQuery
Bootstrap
Flash messages
File Upload
Multiple File Upload
How to create an Image Gallery
Creating and deleting directories on the fly
Identity
Identity Roles
Complex Sessions
Validation
Custom validation
Partial Views
View Components
Tag Helpers
Sections
How to mix JavaScript and C#
How to structure your project simply yet efficiently
and a ton of tips and tricks along the way
Enroll now risk free!