Real Life Coding: Developing Survey Application
3.9 (4 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.
61 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Real Life Coding: Developing Survey Application to your Wishlist.

Add to Wishlist

Real Life Coding: Developing Survey Application

Learn how to code real life survey/poll application for use on website or in email.
3.9 (4 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.
61 students enrolled
Created by Dima Grebniev
Last updated 10/2014
Current price: $12 Original price: $25 Discount: 52% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Design Database to support your application
  • Build KnockoutJS Model to represent multiple View Objects
  • Build UI that communicates with Web API and jQuery
  • Visualize your data with Google Visualization Charts library
  • Develop MVC based Controllers and Views to support requirements
  • Develop WebForms Admin interface to support data entry
  • Generate QR codes using your data
  • Expand and sharpen your coding skills
View Curriculum
  • Basic knowledge of , sql , javascript, jquery, css , html
  • Visual Studio 2012 or above (including free express editions)
  • SQL Server Express (free) and SQL Management Studio 2012 or any higher version

This course will take you through the steps necessary to build a useful, real life web application based on requirements from an actual marketing department. Watch as the web developer in this video series is given the task of creating survey functionality to be used on a web site and poll participants via email marketing blasts. Additionally this developer must collect real time feedback from attendees at live events.

Learn which technologies should be used and how each requirement should be fulfilled. Sit next to the developer and see how it's all put together. This course is not about teaching a specific language or technology, but rather it demonstrates how to use several technologies and programming tools together to accomplish the given goals.

By watching this video series you will benefit by learning how to code and tie different layers of application together in an efficient way. This course will help expand your web development skills and will provide you with ideas to help you approach future projects with confidence.

Who is the target audience?
  • Anyone with some coding experience who is interested in learning web development.
  • Anyone with interest in web programming with free Microsoft technologies.
  • Anyone interested in front-end coding using KnockoutJS and jQuery.
  • It may be too challenging for “just starting” coders.
Compare to Other Web App Development Courses
Curriculum For This Course
54 Lectures
Intro and Overview
2 Lectures 04:11

Introduction to the project. Quick functional demo of what we will be coding.

Preview 03:07

High level outline of technologies we will be using.

Preview 01:04
Database Architecture and Design
12 Lectures 01:03:00

Section Overview

Preview 01:32

Creating tables and defining necessary relationships

Preview 07:48

Adding columns to our tables to enhance data objects

Enhancing data entities with additional properties

Write SQL script to populate Survey Tables with sample data

Loading Sample Data: Survey

Write SQL script to populate Response Tables with sample data

Loading Sample Data: Response

Write SQL statement to populate Response Tables with “Skipped” data

Loading Sample Data: Skipped

Review a data structure for later use in reporting functionality

Survey Results: Report Overview

Connecting tables to collect right data

Getting numbers out: Version1 Part 1

Adding aggregate functions to calculate percentages

Getting numbers out: Version1 Part 2

Demonstration of why this approach to get numbers is incorrect

Getting numbers out: Version1 Major issue identified

Building correct reporting functionality

Getting numbers out: Version2

Wrapping our code inside of the stored procedure

Getting numbers out: Finalizing the Stored Procedure
Core Functionality
11 Lectures 01:13:04

Music: Four Seasons by Antonio Vivaldi

Prerequisite: Prepare your Visual Studio Environment

Creating a View based on Simple Layout template. Adding necessary JS libraries to our Layout template

Creating a View for developing our Survey model

Adding linq-to-sql class to communicate with our database. Creating Web API controller with functionality to retrieve a survey data

Creating Data Access Layer: Linq-To-SQL

Enabling MVC 5 Routing on our controller. Specifying what related data to pull from the database. Setting up JSON as default data return type for the browser

MVC 5 Routing, enabling LoadOptions and JSONFormatter

Laying out and binding HTML structure for the Survey. Defining ViewModel observable properties and actions to populate Survey data via Web API

Coding Survey’s View Model with KnockoutJS

Coding functionality to preserve user’s answers inside ViewModel

Collecting User’s response

Coding Class to use as a Data Transfer object between knockout ViewModel and Web API

Creating Response Data Transfer Object (DTO)

Coding Controller’s functionality to collect POSTed data with user’s answers

Creating Web API Response Controller

Coding function to send POST request from our Survey ViewModel to Web API function via JQuery $.ajax method

Adding “Save Answers” action to our Survey View Model

Adding functionality to our ViewModel to enable user navigate between questions of the survey

Coding Survey Questions Navigation links

Adding CSS styles and additional Viewmodel functionality to improve survey’s presentation

Beautify our Survey presentation
Core Functionality: Charts
6 Lectures 39:22

Quick review of Google Charting library

Google Visualization Chart: Review

Create prototype functionality to use with Google’s Chart library

Preview 03:35

Code controller to expose our data in the format needed by Chart’s API

Coding Web API Controller to expose Survey’s response data

Utilize Knockout’s BindingHandlers to develop our own custom binding for the Chart

Creating KnockoutJS custom binding for Chart

Coding View Model to display chart. Laying out HTML structure and custom binding

Adding Report View Model to our Survey ViewModel

Adding functionality to control report presentation. Adding navigation controls to enable user navigate between multiple answer charts

Adding Report Navigation links
Admin Pages
12 Lectures 01:12:56

Create WebForm pages to outline Admin structure

Defining Admin pages

Create Admin page as launch page for the rest of Admin functionality

Surveys Listing Admin Page

Create a form to manage Survey’s record

Manage Survey’s record

Layout Survey’s Items and add edit links to manage Survey’s properties

Creating Survey’s Overview Admin page

Create Form to output Item and Answers

Manage Items & Answers: Part 1

Code functionality to add/update Item and answers

Manage Items & Answers: Part 2

Code functionality to update / delete answers

Manage Items & Answers: Part 3

Adding CSS to improve forms presentation

Beautify Admin Forms

Coding fields with embed code and populating with code template

Adding “Embed Code” fields with code snippets

Walking through the process of embedding the survey onto the webpage

Embed Survey Code on website’s home page

Adding simple Forms authentication to protect admin pages

Protecting Admin Pages with simple login page
Survey via Email
3 Lectures 09:40

Modifying Admin Survey page to include embed capabilities to use with email

Adding Email embed code to Admin page

Developing functionality to collect responses coming from email clicks

Code Controller to handle Email responses

Demonstrating how the email code would be embedded into Email message

Embed Email Code on website’s home page
Survey via QR Code
8 Lectures 30:15

Coding Web API method to generate QR Code image with provided parameters

Web API function to generate a QR Code

Add Participant table and wire up code to support new entity

Enhance Database to accommodate QR personalization

Code demo functionality to collect user input and produce a QR Code

Demo Form to present QR functionality

Code functionality to create Participant Record

Generate Participant Controller

Code functionality to produce QR based on the input from the form

Generate personalized QR Code

Building MVC View where user lands after scanning the QR Code

Create personalized Survey landing Page

Description: Building functionality to collect and store personalized survey response

Storing personalized response

Making changes to Email response functionality to accommodate personalization changes

Adjusting Email response handling
About the Instructor
Dima Grebniev
3.9 Average rating
4 Reviews
61 Students
1 Course
Web Development

I have over 15 years of experience developing web applications. I began my career working for multinational consulting company where I coded enterprise level projects using Java and later Microsoft.NET. I worked in financial, e-commerce and publishing industries.

At the same time, I decided to run my own small development shop called MolinaBird Design Studio and to build web and mobile applications for local business community.

I have a strong background in business analysis and application development.

In my free time I have always enjoyed sharing my knowledge and my “hands on” experience with others.