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
English
Current price: $12 Original price: $25 Discount: 52% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 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
Requirements
  • Basic knowledge of vb.net , 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
Description

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
04:52:28
+
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
05:21

Write SQL script to populate Survey Tables with sample data

Loading Sample Data: Survey
07:35

Write SQL script to populate Response Tables with sample data

Loading Sample Data: Response
07:39

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

Loading Sample Data: Skipped
03:51

Review a data structure for later use in reporting functionality

Survey Results: Report Overview
01:08

Connecting tables to collect right data

Getting numbers out: Version1 Part 1
05:14

Adding aggregate functions to calculate percentages

Getting numbers out: Version1 Part 2
03:39

Demonstration of why this approach to get numbers is incorrect

Getting numbers out: Version1 Major issue identified
02:18

Building correct reporting functionality

Getting numbers out: Version2
15:00

Wrapping our code inside of the stored procedure

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

Music: Four Seasons by Antonio Vivaldi

Prerequisite: Prepare your Visual Studio Environment
03:12

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

Creating a View for developing our Survey model
06:01

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
04:10

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
05:57

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
14:00

Coding functionality to preserve user’s answers inside ViewModel

Collecting User’s response
08:51

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

Creating Response Data Transfer Object (DTO)
01:45

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

Creating Web API Response Controller
07:49

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
04:13

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

Coding Survey Questions Navigation links
07:48

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

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

Quick review of Google Charting library

Google Visualization Chart: Review
03:57

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
07:10

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

Creating KnockoutJS custom binding for Chart
05:06

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

Adding Report View Model to our Survey ViewModel
11:46

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

Adding Report Navigation links
07:48
+
Admin Pages
12 Lectures 01:12:56

Create WebForm pages to outline Admin structure

Defining Admin pages
01:13

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

Surveys Listing Admin Page
03:14

Create a form to manage Survey’s record

Manage Survey’s record
09:03

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

Creating Survey’s Overview Admin page
06:37

Create Form to output Item and Answers

Manage Items & Answers: Part 1
10:17

Code functionality to add/update Item and answers

Manage Items & Answers: Part 2
18:48

Code functionality to update / delete answers

Manage Items & Answers: Part 3
03:16

Adding CSS to improve forms presentation

Beautify Admin Forms
03:23

Coding fields with embed code and populating with code template

Adding “Embed Code” fields with code snippets
04:02

Walking through the process of embedding the survey onto the webpage

Embed Survey Code on website’s home page
06:06

Adding simple Forms authentication to protect admin pages

Protecting Admin Pages with simple login page
06:26
+
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
03:58

Developing functionality to collect responses coming from email clicks

Code Controller to handle Email responses
04:57

Demonstrating how the email code would be embedded into Email message

Embed Email Code on website’s home page
00:45
+
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
06:15

Add Participant table and wire up code to support new entity

Enhance Database to accommodate QR personalization
02:26

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

Demo Form to present QR functionality
05:18

Code functionality to create Participant Record

Generate Participant Controller
01:44

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

Generate personalized QR Code
05:54

Building MVC View where user lands after scanning the QR Code

Create personalized Survey landing Page
04:53

Description: Building functionality to collect and store personalized survey response

Storing personalized response
03:10

Making changes to Email response functionality to accommodate personalization changes

Adjusting Email response handling
00:35
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.