Become a Full-stack .NET Developer

Have you always wanted to see how professional, experienced developers build an application from A to Z? This course will show you how. You'll build a real-world mini social networking application with ASP.NET MVC 5 and Entity Framework 6.
Course info
Rating
(1058)
Level
Beginner
Updated
May 25, 2016
Duration
5h 34m
Table of contents
Course Overview
Course Introduction
Extracting Core Use Cases from Requirements
Planning the First Iteration
Building a Model Using Code-first Workflow
Building a Form with Bootstrap
Saving Data
Implementing Validation
Preventing Common Web Application Vulnerabilities
Moving Towards a Beautiful Design
Usability Best Practices
Extending ASP.NET Identity Users
Creating Beautiful and Precise Designs with CSS
Implementing a Use Case from Top to Bottom
Implementing Secondary Use Cases
Description
Course info
Rating
(1058)
Level
Beginner
Updated
May 25, 2016
Duration
5h 34m
Description

Hello! Have you ever to learn a systematic approach to build applications, or maybe more you just want to strengthen your front-end and/or back-end development skills? My name is Mosh Hamedani, and in my Pluralsight course Become a Full-stack .NET Developer, you’re going to you learn how to do just that. You’ll focus on ASP.NET MVC, Web API, Entity Framework Code First, Bootstrap3, HTML5, and CSS3, and learn about things like starting with a plain requirements document, breaking it down into tasks, and building the entire application end-to-end in an agile way. Before you begin, though, make sure you’re already familiar with the basics of ASP.NET MVC 5 and Entity Framework 6, as this course doesn’t teach the fundamentals of these frameworks.

About the author
About the author

Mosh (Moshfegh) Hamedani is a passionate and pragmatic software engineer specializing in web application development with ASP.NET MVC, Web API, Entity Framework, Angular, Backbone, HTML5, and CSS.

More from the author
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Mosh Hamedani, and welcome to my course, Become a Full-Stack. NET Developer. I'm a software engineer and author with 15 years of professional experience. The demand for full-stack developers who are comfortable with both front-end and back-end development is increasing constantly, and in fact some companies only hire full-stack developers. In this course, you're going to learn the core front-end and back-end skills that every full-stack. NET developer must know. Some of the major topics that we'll cover include building beautiful user interfaces, building back-end APIs, object-oriented programming, clean architecture, and automated testing, and you're going to learn all these in the context of a real world application. So if you have always wanted to see how professional developers start from a requirements document and deliver working software with clean code, clean architecture, and automated tests, this is the course for you. This course comes in three parts. The focus of the first part is on the fundamentals of full-stack development. So, by the end of this part you'll be able to get the requirements document for your next project, extract the core use cases that have the most impact on the design and architecture of your application, and implement them end to end in a systematic way. Before beginning the course, you should be familiar with ASP. NET MVC 5 and Entity Framework 6. I hope you'll join me on this journey to learn full-stack development with Become a Full-Stack. NET Developer course at Pluralsight.

Extracting Core Use Cases from Requirements
One of the questions that a lot of junior developers ask me is, "Mosh, when I'm given a project, I don't know how to start. "I don't know what to do next. " So that's one of the first things we want to cover in this section. I'm going to show you a requirements document and then you will see that over a few steps, I will extract the core use cases that can have the most impact on the design of our software. So instead of implementing each feature end-to-end and fully polished, we want to implement these core use cases first. Because implementing these use cases early on will give us an idea of the challenges involved in this project. With all that, now let's take a look at the requirements document.

Planning the First Iteration
Okay, so we got our Core Use Cases. Now, we're going to put that in Team Foundation Service, or TFS, to keep track of our work. You could use any software that gives you the ability to keep track of what you have done, what you're currently working on, and what is remaining. Next, we're going to sketch a basic user experience for our application. Sometimes, if you're working in a team, you might have a person dedicated as a web designer or UX Designer, but other times, you have to do it yourself. What I want you to take away from this section is to give yourself the habit of grabbing a piece of paper and sketching a basic user experience. Decide how the user will navigate from one page to another, what elements do we have on the page? How does the navigation bar look like? It's much easier to draw this on a piece of paper than jumping into HTML & CSS. With all that, now, let's get started.

Building a Model Using Code-first Workflow
In this course, I'll be using Code-first Workflow of Entity Framework to build a domain model. So in this section, we're going to build a very basic domain model for our gigs, and use Code-first migrations to generate the database and populate it with some reference data. Now, let's get started.

Building a Form with Bootstrap
Okay, our model is ready. Now we're going to build a form to create a new gig. As part of this section, I will show you how to use Bootstrap to build modern and pretty forms. You will also learn about view models, what they are, why we need them, and how to create them. Now let's get started.

Saving Data
OK, our form is ready. Now we need to save data. As part of this section, I'm going to talk about separation of concerns. Which is one of the areas that a lot of junior or even intermediate level developers struggle with. They write code where it does not belong. That makes their methods fat and un-maintainable. I will show you an example of a controller doing something that it shouldn't. Then, we will re-factor that and move that code somewhere else to improve separation of concerns. Now, let's get started.

Implementing Validation
Okay, this section is all about validation. So, we're going to apply some standard data annotations on our input fields, and we'll also implement custom data annotation, from validating date and time fields. Well, let's get started.

Preventing Common Web Application Vulnerabilities
Okay, in this section, I'm going to talk about a few common web application vulnerabilities that every web developer must be familiar with. I'm going to talk about SQL injection, cross-site scripting, and cross-site request forgery. Now let's get started.

Moving Towards a Beautiful Design
As I said before, sometimes we have a dedicated designer in the team purely responsible for the look and feel of your applications. The other times, you don't have someone like that and building a beautiful user interface is your job. So in this section, I'm going to talk about the artistic and creative aspect of web development. I'm going to talk about colors and their meanings, fonts and typography. And then I will show you quite a few simple techniques that you can use to improve the look and feel of your applications. Now, let's get started.

Usability Best Practices
Building software is not just about writing code. Your applications should be easy to use and intuitive. So in this section I'm going to walk you through some key principles of usability that I believe every full stack developer must know. Just to let you know usability really requires its own course. So what I'm going to show you in this section is not comprehensive by any means. It's just an eye-opener. Now let's see these principles in action.

Extending ASP.NET Identity Users
Every ASP. NET application we create, using the default template has built in authentication and authorization, implemented using ASP. NET Identity. We get a basic login and sign up form. Now, this sign up form is pretty basic and in most real world applications, we need to capture one or more attributes during the sign up process. So in this section, we are going to extend ASP. NET Identity and add a new field to our sign up form. This field is going to be the name of the artist, so let's get started.

Creating Beautiful and Precise Designs with CSS
OK, this section is all about CSS. I'm going to show you some techniques that every front end or full stack developer must be familiar with. Now, let's get started.

Implementing a Use Case from Top to Bottom
In this section, we're going to implement a use case end to end. So we'll add a button in front of each gig, and when the user clicks that, we'll create an attendance for them. As part of this section, I will show you two different solutions for extending our domain model and I will explain why I prefer one solution over the other. Then we extend our domain, we use code first migrations to bring the database up-to-date. And finally, we'll create an API and call it using jQuery AJAX. Now let's get started.

Implementing Secondary Use Cases
Okay now finally in the last section, we're going to implement the remaining use cases and finish the first iteration. As part of this section, I'm going to show you more techniques like hiding certain elements for anonymous users, using partial views, and some more CSS tips and tricks. Now let's get started.