Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Building a MVC 5 Membership Website to your Wishlist.

Add to Wishlist

Building a MVC 5 Membership Website

In this course you will learn how to build an MVC 5 website using C#, Entity Framework, HTML5, CSS, JavaScript and Ajax.
4.3 (36 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
264 students enrolled
Last updated 1/2017
English
$10 $50 80% off
4 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 25.5 hours on-demand video
  • 1 Article
  • 11 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
Description

Welcome,

This highly modular and proven no-fluff course will teach you how to implement a fully functional ASP.NET MVC 5 membership website complete with an Entity Framework code-first database and two user interfaces; one for administrators and one for the end-user. I have used the teaching technique used in this video course for many years with fast superb results for my students.

Gone are the days when you learned programming through short incoherent examples, in this course you will learn by implementing a complete web application while "looking over my shoulder" as I implement it with you in short step-by-step scenarios. This course is laser-focused and highly targeted to web developers just starting out who have a completed at least one beginner MVC 5 course prior to this course; the prerequisites for this course are that you have a basic understanding of MVC 5 and the C# language, other than that I only ask that you keep an open mind and are ready to learn.

Complete this course and be proud of your achievement. Host the web application online and showcase it in your CV on job interviews or wen negotiating your salary with your boss. You can even use your knowledge to work online selling your services on sites such as Fiverr and UpWork.


Technologies, frameworks and languages:

  • C# (you need to be proficient)
  • MVC 5 (create/modify models, views and controllers)
  • Razor syntax
  • HTML5/CSS3 (you need basic knowledge - I have included a basic PDF course for you to get started or to use as a refresher)
  • Bootstrap (used for styling and create a responsive design)
  • JavaScript/JQuery (you need basic knowledge)
  • Ajax (used for asynchronous server calls)
  • LINQ (to query the database)
  • Extension methods (to clean up your C# code and enable re-use)
  • HTML Helper methods (to clean up your HTML and enable re-use)
  • Use settings from the web.config file
  • Deploy to Azure (BONUS)


Three BONUS courses that will get off to a flying start:

  • HTML5/CSS3/Bootstrap [PDF] - Will teach you basic HTML5, CSS3 and Bootstrap.
  • MVC 5 For Beginners [PDF] - Will teach you the beginner stuff needed for this course.
  • Azure [VIDEO] - How to setup and deploy your web application to the Azure cloud.


FREQUENTLY ASKED QUESTIONS

1. Do this course cover ASP.NET Core 1.0?

No! ASP.NET Core 1.0 is still an immature framework and it's going to take quite some time until it gets adopted for production use. Many of the skills you learn in this course can be used when building to ASP.NET Core 1.0 applications in the future. Beware, however, that the folder structure in ASP.NET Core 1.0 has changed significantly and corresponds directly with the folder structure on the hard drive.

2. Why should I pay for this course when there are lots of free tutorials available?

Free tutorials and YouTube videos are free for a reason. They introduce you to a few concepts here and there, but soon you'll find yourself jumping from one tutorial to another without getting the full picture; this will cause you to waste valuable time that you could spend with your family and friends or to make money. By taking a highly structured course, such as this one, you will learn the necessary skills in a real world scenario step-by-step.


I hope you love the course!

Sincerely,
Jonas Fagerberg

Who is the target audience?
  • Web developers just starting out who have a completed at least one beginner MVC 5 course prior to this course.
Students Who Viewed This Course Also Viewed
What Will I Learn?
Create a "real world" code-first database using Entity Framework.
Add and modofy models, views and controllers to perform CRUD operations agains the database.
Use client-side and server-side validation.
Secure the controllers, actions and view content with authorization and roles.
Implement security with ASP.NET Identity (authentication, authorization and roles).
Use JavaScript, JQuery and Ajax to build a great end-user interface with asynchronous server calls.
Style the user interfaces using CSS3 and Bootstrap.
Create a responsive website.
Implement product subscription scenarios with registration codes.
Create an alternate way to login to the application.
Implement password reset functionality.
Register users with the site.
Manage users and their subscriptions.
View Curriculum
Requirements
  • Have a basic understanding of MVC 5.
  • have a basic understanding of HTML5 and CSS3.
  • Be proficient in C#.
Curriculum For This Course
Expand All 239 Lectures Collapse All 239 Lectures 25:42:46
+
Welcome
2 Lectures 16:37

The first video in this section itroduces the website you will be building in this course and the second video show you how to setup the project in Visual Studio 2015.

Preview 05:32

This video will show you how to setup the Memeberships Visual Studio 2015 solution and how to add necessary folders and files.

The video also shows how to connect an already existing TFS source control folder to the Memberships solution. Disregard the parts about TFS if you are not using TFS source control.

When you open the solution source code project it might ask if you want to connect to Team Foundation, just answer No and the solution will open correctly.

How To Setup The Visual Studio 2015 MVC5 Project
11:05
+
Module 1 - Adding the Admin menu to the navigation bar
7 Lectures 24:33

This is an intrduction to what you will be creating in this module.

Preview 00:51

Adding the Admin area where the Admin Controllers, Actions and Views will be created.

Adding the Admin Area
01:08

This iintroductory video will describe what the menu look like that you will be creating in this section.

Introduction to the Admin menu
01:17

This is the second of four videos showing how to add the Admin menu. Adding the drop-down menu using a partial view.

Creating the Admin Menu - Part 1
07:26

This is the second of four videos showing how to add the Admin menu. Removing links from the navigation bar in the Admin area.

Creating the Admin Menu - Part 2
01:08

This is the third of four videos showing how to add the Admin menu. Hooking up the Hover event method using JavaScript/JQuery to open the Admin menu when the user hovers over the Admin navigation link.

Creating the Admin Menu - Part 3
08:05

This is the fourth of four videos showing how to add the Admin menu. Adding Menu items to the Admin menu.

Creating the Admin Menu - Part 4
04:38
+
Module 2 - Creating the Database
14 Lectures 01:47:56

This introduction video gives an overview of what you will be creating in this section.

With the help of the remaining videos in this section you will create the necessary entity model classes which will become the tables in the database that you will create with Entity Framework Code-First. You will apply certain attribute to the properties representing the table columns to restrict them and to force certain settings in the database.

Preview 12:00

Learn how to enable database migrations, configure settings and create the database.

Preview 07:24

Adding the Section table to the database and look at its settings in the Server Explorer window.

Adding the Section table to the database
13:52

Adding the Part table to the database and look at its settings in the Server Explorer window.

Adding the Part table to the database
09:01

Adding the ItemType table to the database.

Adding the ItemType table to the database
04:21

In this video you will add the Item table to the database. This table has the most columns of all the tables in the database. It is one of the core tables which will contain items, or pieces of content, associated with one or more products.

Adding the Item table to the database
19:06

Adding the Product table to the database. This is one of the core tables which jolds information about products that can be associated with one or more subscriptions.

Adding the Product table to the database
07:33

Adding the ProductType table to the database. The product type defines what type of product it is, i.e. a book, a video, a course, ...

Adding the ProductType table to the database
05:04

Adding the ProductLinkText table to the database. This table contain enticing link texts which are meant to get the user to click into a product and view it's content. The text is displayed in the green animated link on the product image.

Adding the ProductLinkText table to the database
03:14

Adding the Subscription table to the database. This is one of trhe core tables which holds inforamtion about individual subscriptions that the user can subscribe to by entering a registration code. A sunscription can contain one or many products.

Adding the Subscription table to the database
05:18

Adding the ProductItem table to the database. This is a connection table between the Product and the Item tables accociating one or more items with one or more products.

Adding the ProductItem table to the database
07:33

Adding the SubscriptionProduct table to the database.This is a connection table between the Product and the Subscription tables accociating one or more products with one or more subscriptions.

Adding the SubscriptionProduct table to the database
03:36

Adding the UserSubscription table to the database. This is a connection table between the Subscription and the AspNetUsers tables accociating one or more subscriptions with one or more users.

Adding the UserSubscription table to the database
05:39

Modifying the AspNetUser table through the ApplicationUser class. Three additional columns will be added to this auto-generated table making it possible to store additional data such as the first name of the registered user.

Modifying the AspNetUser Table
04:15
+
Module 3-1 - Creating the Admin User Interface for the Section entity
11 Lectures 01:53:54

This is an introduction to the Controllers, Actions and Views needed for the minor entities asscociated wth the Section, Part, ItemType, ProductType and ProductLinkText tables.

Preview 03:40

Scaffold the controllers, actions and views for the Section table.

Adding a controller, actions and views for the Section table
19:57

Modify the Create view for the Section table.

Modifying the Create View
08:41

Create a partial view containing a "Back to List" button which will navigate back to the Index view of the current controller.

Adding the _BackToListButtonPartial view
08:44

Modify the Edit View creating buttons instead of links and use Bootstrap to style the view.

Preview 05:17

Modify the Details View creating buttons instead of links and use Bootstrap to style the view. We will also create a partial view called _EditButtonPartial which will navigate to the Edit view of the current controller.

Modifying the Details View and create a partial view called _EditButtonPartial
12:59

Modify the Delete View and replace the Back To List link with the _BackToListButtonPartial view.

Modifying the Delete View
05:10

Modify the Index View and add a new partial view called _CreateButtonPartial which will navigate to the Create view associated with the current controller.

Modifying the Index View (Part 1 of 4)
07:04

Add a class called SmallButtonModel which will be used when creating a partial view containing the table buttons.

Modifying the Index View (Part 2 of 4)
18:05

Add a a partial view called _SmallButtonPartial which will be used for each button in the partial view containing the table buttons.

Modifying the Index View (Part 3 of 4)
06:01

Add a partial view called _TableButtonPartial using the _SmallButtonPartial view for its intrinsic buttons.

Modifying the Index View (Part 4 of 4)
18:16
+
Module 3-2 - Adding controllers for the rest of the Minor tables
4 Lectures 18:33

Adding Controller, Actions and Views for the Part table.

Preview 07:17

Adding Controller, Actions and Views for the ItemType table.

The ItemType table - Adding Controller, Actions and Views
03:49

Adding Controller, Actions and Views for the ProductType table.
The ProductType table - Adding Controller, Actions and Views
03:42

Adding Controller, Actions and Views for the ProductLinkText table.

The ProductLinkText table - Adding Controller, Actions and Views
03:45
+
Part 4-1 - Creating the Admin User Interface for the Item entitiy
15 Lectures 01:11:58

A brief description of what we will be implementing in this and the next module for the Item, Product and Subscription tables.

Introduction to the Major Entities
00:47

In this module you will scaffold and modify the controllers, actions and views for the Item table.

Scaffolding the Controller, Actions and Views for the Item table
03:56

Add an extension method called GetPropertyValue which will be used when fetching Items.

The GetPropertyValue Extension Method (1/2)
01:55

Add an extension method called GetPropertyValue which will be used when fetching Items.

The GetPropertyValue Extension Method (2/2)
06:37

Add an extension method called ToSelectListItem which will be used when displaying items in drop-down controls.

The ToSelectListItem Extension Method (1/2)
01:36

Add an extension method called ToSelectListItem which will be used when displaying items in drop-down controls.
The ToSelectListItem Extension Method (2/2)
07:31

Add the Create view for the Item controller and replace some of the textboxes with drop-downs.

Altering the Create view (1/4)
12:41

Alter the Create view for the Item controller by changing a property data type in the Item entity class, updating the database and changing the textbox to a checkbox.

Altering the Create view (2/4)
04:08

Styling the links to Bootstrap buttons in the Create view.

Altering the Create view (3/4)
04:07

Add items to the Item table to have some data to work with.

Adding an item to the Item table
03:53

Changing the textbox for HTML content into a text area to allow for multiple rows.

Altering the Create view (4/4)
02:47

Create a model object for the drop-downs in the controller for the Edit view and style the it with Bootstrap.

Altering the Edit view
10:21

Styling the Details view with Bootstrap and partial views.

Altering the Details view
01:34

Styling the Delete view with Bootstrap and partial views.

Altering the Delete view
02:45

Styling the table in the Index view with Bootstrap and replacing the links with buttons created with a partial view.

Altering the Index view
07:20
+
Part 4-2 - Creating the Admin User Interface for Product and Subscription
12 Lectures 01:29:58

Add data to the minor entities associated with the Product table to have some data to work with when adding products later.

Preview 01:59

Add the ProductModel class which is used to transport data from the Product controller to its views.

Adding the ProductModel class
09:01

Add the asynchronous Convert extension method that will convert a collection

of Product objects into a collection of ProductModel objects.

Adding the Convert Extension Method
12:01

Adding the Product Controller, Actions and Views
02:05

Altering the Product Index View (1/2)
10:07

Altering the Product Index View (2/2)
01:15

Altering the Product Create view
12:17

Altering the Product Edit view
07:14

Add a new Convert extension method which converts a single Product into a ProductModel instance and use it to create the model for the Details view.

Altering the Product Details view
12:06

Use the Convert extension method added in the previous video to create a model for the Delete view. Also delete a product to see that the view is working.

Altering the Product Delete view
05:36

Adding the Subscription Controller, Actions and Views
15:09
+
Part 4-3 - Creating the Admin User Interface for the ProductItem entity
20 Lectures 02:17:29

Connector entities are tables which are used to create a many-to-many relationship in the database.

Introduction to the Conector Entities
00:34

In this module you will scaffold and modify the controllers, actions and views for the ProductItem table.

Adding a controller, actions and views for the ProductItem Table
02:41

Add the ProductItemModel class which transports data from the controller to its views.

Adding the ProuctItemModel class
04:48

Styling the view with Bootstrap and changing textboxes to drop-downs.

Altering the ProductItem Create view
07:04

Adding a model to the action methods and make them asynchronous. The model is rendered with the view.

Altering the ProductItem Create Action
04:12

Add an overload for the Convert extension method to handle object conversions from a list of ProductItem objects to a list of ProductItemModel objects.

Overloading the Convert Extension Method
07:14

Altering the ProductItem Index view
07:52

Saving the ProductId and ItemId sent to the view when it was rendered in hidden fields called OldProductId and OldItemId; these ids will then be used to remove the old item when the drop-down selections has changed and the user clicks the Edit submit button. A transaction will be used when removing the old values and storing the new values to make sure that both changes will be propagated to the database.

Altering the ProductItem Edit view
04:43

Add an overload for the Convert extension method to handle object conversions from a ProductItem object to a ProductItemModel object.

Overloading the Convert Extension Method
05:13

Create a method called GetProductItem which fetches ProductItem from the database based on a product id and a item id. This method will then replace the default call to the FindAsync method in the HttpGet Edit Action.

Altering the ProductItem's HttpGet Edit Action
11:26

This is an introductory video to the GetChange method which checks if a ProductId-ItemId combination can be changed in the ProductItem table.

Adding the CanChange mehod (Intro)
00:55

Implement the GetChange method which checks if a ProductId-ItemId combination can be changed in the ProductItem table.

Adding the CanChange mehod (Implementation)
07:41

Explains how to implement the Change method which alters a ProductId-ItemId combination in the ProductItem table.

Adding the Change method
15:22

Add calls to the CanChange and Change methods to persist the changes to the database for the ProductItem instance.

Altering ProductItem's HttpPost Edit Action
11:09

Send in two parameters instead of the default one and call the GetProductItem method we created in a previous video.

Altering the ProductItem Details Action
05:39

Overloading the Convert Extension Method
07:05

Altering the ProductItem's Details view (1/2)
09:14

Add the EditButtonModel class which is used to send ids to the _EditButtonPartial view.

Adding the EditButtonModel class
06:58

Altering the _EditButtonDetailsPartial view to use the EditButtonModel class as its view; the partial view is then rendered from the Details view.

Altering the ProductItem's Details view (2/2)
07:18

Change the view to use the ProductItemModel class as its view model. Use the _EditButtonetailPartial view and the EditButtonModel class to replace the Edit link with an Edit button in the view. Alter the Delete action to take two parameters and call the GetProductItem method instead of the FindAsync method to fetch the desired Productitem to remove from the database. Style the other links to buttons with Bootstrap classes.

Altering the ProductItem's Delete View
10:21
+
Part 4-4 - Creating the Admin User Interface for the SubscriptionProduct entity
7 Lectures 01:01:31
Creating the SubscriptionProduct's Controller
02:43

Adding the SubscriptionProductModel class
02:45

Altering the Extension Methods
18:09

Adding the GetSubscriptionProduct method
04:10

Altering the Controller Actions
16:25

Altering the views 01
02:42

Altering the views 02
14:37
+
Part 4-5 - Creating the Admin User Interface for the Users and Subscriptions
32 Lectures 02:50:43

In this section you will scaffold and modify the controller, actions and views for performing CRUD operations on users and to add or remove subscriptions from a user. The Index view will display a list of all the registered users and a Subscriptions view, reachable from the Index view, will display a drop-down with all available subscriptions (that the user hasn't already subscripbed to) and a list of all the subscriptions the user currently subscribe to. It will be possible to add subscriptions to the user as well as remove subscriptions from the user.

Preview 00:53



Altering the Register Action 01
01:07

Altering the Register Action 02
01:38

Altering the Register View
04:14

Changing a user into an admin
01:34

Restict access to the Admin menu and its controllers
08:05

Modify User Information - Intro
01:28

Adding the UserViewModel class
07:36

Adding the Extension Methods - Intro
01:23

Adding the GetUserFirstName Extension Method
04:36

Adding the GetUsers Extension Method
05:54

Adding the Index Action
02:56

Adding the Index View
04:40

Altering the Index View
06:54

Altering the _TableButtonsPartial View 01
01:00

Altering the _TableButtonsPartial View 02
05:48

Altering the Create Actions and View
11:02

Adding the HttpGet Edit Action
06:56

Adding the HttpPost Edit Action
12:34

Adding the Edit View
04:07

Adding the Delete Actions
05:33

Adding the Delete View
07:50

Introduction to the Subscriptions Action and View
02:14

Adding the UserSubscriptionViewModel class
07:29

Adding the HttpGet Subscriptions Action
10:51

Adding the HttpPost Subscriptions Action
05:18

Adding the Subscriptions View 01
08:50

Adding the Subscriptions View 02
10:50

Adding the Subscriptions View 03
05:14

Adding the Subscriptions View 04
09:39
10 More Sections
About the Instructor
4.3 Average rating
36 Reviews
264 Students
1 Course
Professional Teacher, Developer and Consultant

Jonas started a company back in 1994 focusing on education in Micro­soft Office and the Microsoft operating systems. While studying at the university in 1995, he wrote his first book about Widows 95 as well as a number of course materials.

In the year 2000, after working as a Microsoft Office developer consult­ant for a couple of years, he wrote his second book about Visual Basic 6.0.

Between 2000 and 2004 he worked as a Microsoft instructor with two of the largest educational companies in Sweden. First teaching Visual Basic 6.0, and when Visual Basic.NET and C# were released he started teaching these languages as well as the .NET Framework. Teaching classes on all levels for beginner to advanced developers.

From the year 2005, Jonas shifted his career towards consulting once again, working hands on with the languages and framework he taught.

Fore the past two years he has been teaching C#, SQL Server Programming, Entity Framework and MVC 5 to students at a vocational college.

Jonas wrote his third book C# programming aimed at beginners to intermediate developers in 2013 and in 2015 his fourth book C# for beginners - The Tactical Guide was published. Jonas has also produced a 24h+ video course called. In July 2016 his latest book ASP.NET MVC 5 - How to build a membership website will be released on Amazon which this video course is based on.

Report Abuse