Do you dream of becoming a professional web developer? Well this is the resource for you! Learn how to program and build robust Websites using the latest technologies with this easy-to-follow, comprehensive course.Â
I’ll teach you step by step from the absolute basics to the more advanced patterns used by seasoned professionals. You will become an expert ASP NET MVC C# Web Developer, take your career to the next level and learn how the top developers can demand bigger salaries!Â
Freelance & contract developers can make upwards of $500 a day, and the demand is increasing each year. Completing this course will open your eyes to a new world of potential earnings.Â
Whether you are completely new to software development, or have already learnt the basics, my course will walk you through everything you need to know to become world class.
Here’s what some students have been saying:
‘A very good course on MVC, after taking some MVC courses here in Udemy, I subscribed this one, helps me to gain more clarity inside the MVC process’Â
‘I now see what I’ve been missing! This is certainly one of the best courses I’ve watched/read about ASP NET!’Â
‘I’ve run through a through a few tutorials and blog posts whilst learning MVC, and I never knew about the ideas discussed in this course, or thought they were beyond be ay my beginner level.’Â
Do you want to learn how professional developers build best in class websites using ASP NET MVC?
Senior developers can earn in excess of $100k a year– one of the key differences they demonstrate is the ability to quickly write extensible code and get involved in the architecture process. This course will teach you how enterprise class developers create ‘Best in Class’ software, and how these principals will help you create software easier, faster and be less prone to bugs.Â
I will teach you the basics of software development, move onto Object Orientated Programming (OOP) and introduce the 7 SOLID Principles and modern day patterns that adhere to them such as Dependency Injection, MVC, Abstraction and Inheritance.Â
Through this course you will implement:
An ASP NET MVC e-commerce site.
Object Orientated Programming (OOP)
Layered Architecture
Repository Pattern
Entity Framework
Generics
Dependency Injection
Modulular Development
Unit Testing
Partial Views
And more!
And of course, being part of Udemy you get:Â
FREE lifetime access to this course
ALL future lectures and upgrades (of which there will be many!) included for free
Udemy’s Unconditional 30 day money back guarantee – so there’s NO risk
Introduction
An introduction to the course and what we will be learning.
How to get and install Visual Studio. Kind of important. :-)
How to Install SQL Express & the Management Tools
C# Primer
A brief introduction about this section of the course - C# Basics - and what we will be covering.
All C# and Web Development projects must start with a 'Hello World' project. It's an unwritten law of the Universe. So let's get started and see just how easy it is to create a fully functional C# Program!
So we have our very first C# program - but what are all those files about? In this lecture we'll examine the anatomy of a C# program and look what happens when it get's 'compiled'.
How do we create 'objects' of our own devising? What happens when the built in C# 'types' just don't cut the mustard? In this lecture we examine how we can create classes and structs to build our programs.
How do you store lists of information in a C# Program? This lecture explores the options for storing, sorting and searching lists of information.
All programs need to respond to information and execute code depending on user choices and actions. In this lecture we introduce at a high level the options available for controlling the flow of your program, before going into more details in the following lectures.
All software has a hiccup sometimes. In this lecture we look at the basics of debugging your C# application.
Object Orientated Programming (OOP)
Object Orientated Programming (OOP) is often overlooked by new developers assuming they will 'pick it up' - however it's best to learn the concepts from the beginning. This lecture will give you a brief overview of what OOP actually is and why we need it.
Learning is easier by doing - take a walkthrough creating and using classes.
Now you've learnt the basics, I'll show you so of the more advanced things you can do with classes and their usage.
In this lecture we will discuss what a LIBRARY is, and how we can use namespaces to group and partition our code whilst preventing conflicts.
Some of the basic 'features' of OOP - honestly - it's NOT that scary!
Explanation of public, private, internal and virtual access modifiers when declaring classes, properties and methods.
This book is a brief introduction and reference to what we have been learning so far. I normally sell this on Amazon, but it's free to all my hard working students :-)
Click the resources tab to get the Playground Project used in the OOP Lectures
SOLID Principles
SOLID is a set of guidelines for writing easily maintained code. Top developers (the ones who make the big bucks) try to follow these guidelines to make their life easier and code faster. They are also a must if you ever want to work in a larger team on larger projects.
The S in SOLID. Learn about the Single Responsibility Principle and how we use it to break code up and to nice simple classes.
The O in SOLID. Best practices for building classes in regards to updating and extending your software.
The L in SOLID. This principle teaches you to write code that can be easily replaced and swapped out.
The I in SOLID. This principle works in conjunction with the Liskov Principle to build code that can be made modular.
The D in SOLID. Dependency Inversion is perhaps one of the biggest growing patterns in software development. It is essential to understand and paves the way for better Testing and modularity of your code. The lecture provides the theory, and then you'll implement it in a real world scenario in the 'Building a data layer' section.
Slides from the previous lectures in PDF Format - handy for reference!
Test how well you understand SOLID Principles!
MVC Primer
Get started building your first ASP.NET MVC website - and see just how easy it is.
With your first ASP.NET MVC site built, we'll walkthrough the main components and structure of the site.
The C in MVC - Controllers manage the flow of data from Models to Views - learning about the basics of Controllers in this and the next lecture.
Continuing our look at Controllers and how they work.
Once our MVC controllers are built they need to push information to a View - learn the basics of HTML Views here.
The final part of the MVC Acronym - Models. Learn how they work in conjunction with Views and Controllers.
With the basics in place, lets start to push data from our Views to the 'backend' Controllers.
Visual Studio has a tool called Scaffolding that makes the creation of Views fast and simple. Start by Scaffolding out a customer list.
Continuing our look at Scaffolding, see how we can create 'POST' forms for creating objects.
Now we can create and view a list of objects, see how easy it is to view and edit those objects.
What can be created needs to be deleted - again Scaffolding makes it quick and easy.
Learn how to easily implement basic validation into your user Interfaces without needing any Javascript at all!
Learn about the different kinds of Partial Views and when they can be used.
Have you learnt your M from your V & C's? Test your knowledge!
ASP.NET Security
Create an MVC website with ASP.NET Security
With the ASP.NET Template in place, let's have a walk through some of the scaffolded code.
Learn how to extend the existing user model with additional fields.
Source Control
Real World Development
Get started building a Real World application using professional development practices.
How to access my code from the these lectures
Install the Visual Studio integrated GitHub client and connect it to your account
Build of the base solution the right way
NuGet packages are often updated - however these updates can themselves cause issues. We examine how to manage and update packages, and what to do when it goes wrong!
Start building out our product models and basic storage mechanism
With the models in place, scaffold out the management pages for creating, editing and deleting products.
Add some grouping to products with Categories, and implement a data driven drop down to constrain choices - this is a bigger subject than it sounds, and this is just the first part!
Finishing off our Product Category management pages,
Getting tired of continually repeating nearly the same code? Implement a Generic repository that can handle any model without re-coding for each one.
After generics, Dependency Inversion and Injection helps further create dynamic classes.
Use Microsoft's Unity DI Containers, built for use with ASP.NET MVC
Use Entity Framework to start building a SQL based database.
Use the earlier Generic repository model to implement a SQL based version.
Now we have a real data layer, start uploading Images to your products.
With the management pages all done, create a sale based product list.
Add filtering to our product pages using the Product Categories.
Building The Shopping Cart
eCommerce sites need to allow users to add products to a basket - start by examining the options and the workflows used,
Step one in building our Basket is creating the BasketModels
Rather than connect directly to a Database, we will create a separate Basket Service that encapsulates the required logic.
Part 2 of the Basket Service
With our service in place, let's now hook up our Basket pages.
Unit Testing
What are Unit Tests and why do we have them?
Using Mocks to test the database and Controllers
Continuing on from the previous lecture about how to setup your Mocks
With our basics in place, create some tests to check our basket works
Finishing off the basket tests
Customers, Orders and Securing Pages
Start the customer journey by integrating the additional customers details into the normal user creation process.
Take the next step of the customer journey by creating orders from the basket.
Add Unit Tests to make sure our backend process is working as it should.
With our tests in place, finish off the order process by adding the final view pages.
The final step on the customer journey is to ensure our orders are linked to our customers.