Professional Application Development with ASP.NET MVC

Course Outline

Module One: Object Oriented Programming in C# Revisit

  • 1. Encapsulation, Data Hiding, Class, Object, Constructor, Properties Revisi
  • 2. Inheritance, Polymorphic behavior understanding.
  • 3. Interface Understanding

Module Two: Advanced C# Revisit

  • 1. Implicitly Typed Variable declaration.
  • 2. Anonymous type declaration
  • 3. Lamda Expression through delegate.
  • 4. LINQ and LINQ with Lamda style.

Module Three: Project Management Tools

  • 1. Overview of Git and Online Git Repository
  • 2. Managing Project through Kanban
  • 3. Pomodoro

Module Four: Getting Started with ASP.NET MVC

  • 1. Goals of Modern Web Development
  • 2. ASP.NET Overview
  • 3. What is MVC? Understanding MVC Philosophy.
  • 4. Understanding the structure of an ASP.NET MVC project
  • 5. Naming conventions
  • 6. Difference between ASP.NET Web Form and ASP.NET MVC
  • 7. Convention based Routing

Module Five: Working with Controllers

  • 1. Understanding Controllers
  • 2. Conventions
  • 3. Request Pipeline
  • 4. Adding Actions
  • 5. Model Binding
  • 6. Filters
  • 7. Controller’s Best Practices

Module Six: Working with Views

  • 1. How Views Are Found
  • 2. Views and Models
  • 3. Razor Syntax
  • 4. HTML Helper
  • 5. Extending Helper
  • 6. Layout
  • 7. Partial View
  • 8. Bootstrap Framework in MVC
  • 9. Jquery in MVC
  • 10. jQuery Ajax in MVC
  • 11. Data Annotation and Validations
  • 12. Custom Validation

Module Seven: Creating and Configuring Models

  • 1. What is a Models?
  • 2. Creating Models
  • 3. Scaffolding
  • 4. Model Binding
  • 5. Extending Models

Module Eight: Working with Entity Framework.

  • 1. Code First
  • 2. Code First Migrations
  • 3. Database First vs Code First
  • 4. Loading Related Entities with Lazy Loading, Eager Loading
  • 5. Data Context
  • 6. Data Annotations
  • 7. Fluent API configuration with EF

Module Nine: Routing in MVC

  • 1. Uniform Resource Locator
  • 2. Insiders Look how routing works
  • 3. Custom Routing

Module Ten: Security in ASP.NET MVC

  • 1. ASP.NET Security
  • 2. Configuring Authorization
  • 3. Building a Secured Web Site
  • 4. Individual User Accounts
  • 5. ASP.NET Identity
  • 6. Identity Extensibility
  • 7. Defending against Attacks
  • 8. Security Vectors
    • Cross-site Scripting
    • Session Hijacking
    • SQL Injection
    • Input Forgery

Module Eleven: MVC Unit Testing

  • 1. Test Driven Development
  • 2. Designing Test Case
  • 3. Creating Unit Tests
  • 4. Using MS Tests
  • 5. Testing Controllers
  • 6. Testing Routes
  • 7. Testing Validators

Module Twelve: Dependency Injection

  • 1. Inversion of Control Design Pattern
  • 2. Service Locator Design Pattern
  • 3. Dependency Injection Design Pattern
  • 4. Dependency Resolution in MVC

Module Thirteen: Building RESTful Services with Web API 2

  • 1. API Controller
  • 2. Action Parameters
  • 3. Exceptions
  • 4. Configuration
  • 5. Model Binding
  • 6. Formatters
  • 7. Status Codes
  • 8. Dependency Resolution in Web API

Module Fourteen: Industrial-Strength ASP.NET MVC Applications

  • 1. ASP.NET application architecture best practices
  • 2. Implementing a Repository and Entity Framework Data Model
  • 3. Using Dependency Injection
  • 4. Implementing a custom controller factory