Building a Data Centric Web Application with MVC 4 and Entity Framework – Tutorial – Introduction

Diffrences between http and https thetechhackerWe are going to build together a web application, using the MVC pattern and Entity Framework. Data Centric because, as I come from the Clarion world, the logical process for me is to start by defining the data structure before starting to define a User Interface and start coding. There is nothing wrong doing things differently, it just seems to “flow” more naturally for me that way.

What tools you need to follow along?

  • We will be using the latest Web technologies existing today in the Microsoft world. If you don’t already have a version of Microsoft Visual Studio, I suggest to download Microsoft Visual Studio 2012 for Web, or the equivalent 2013 preview. If you already have an Express version of Visual Studio, be sure to have the Web Version. The other versions, Professional, Enterprise and Ultimate will all have the required features.
  • To see what’s happening under the hood, have a better understanding and eventually debug the html side of things, we need a tool allowing us to spy on our html communications. So I suggest that you download “Fiddler”. We will be using it quite a bit, in the beginning and later, from time to time.
  • Not absolutely mandatory, but it will be useful to have a Microsoft Live account to access some tools I will be using along the way, like Microsoft Team Foundation Service and Microsoft Azure, to experiment by yourself.
  • The code itself will be shared on GitHub, but setting up Github on your machine with Visual Studio will be a step of this tutorial, so there is no point worrying about it now.

I may back track on this later if I see there something not working as expected, but I plan to use MySQL as a database. Not because I am specially in love with this particular database engine, but to show that, in contradiction with most other guides and tutorials, you have the choice to use the kind of data server you want, and are not tied to use exclusively MS SQL Server (Even if some things are easier with it); Besides, while being inferior to PostgreSQL, MySQL is the most used database engine for Web applications, so it seems to make sense to use it. You don’t need to install MySQL right now, we will do that in due time.

What application are we going to build?

The plan is to build what I name a “Personal Challenge Accountability Program” ( I hope our collective brain will be able to come up with a better name!). The idea is that, to achieve a project (challenge), a great help is to tell others and keep them updated on your progress.

Say that the project is to loose 30 pounds in 60 days. You tell some people that’s what you want to do, and “peer” pressure” will be there to keep you on track. Each day, you tell them what you did (good AND bad), note your results, and your intent for the next day (Or week, it does not have to be every day). Now, the challenge could be just as well to write and deploy your first Web Application in 3 months, the principles of “Personal Accountability Program” would stay the same and work just as well.

It seems to me that a great way to tell the world (or just a filtered group of friends), in this high tech cyber world we all live in, is an Internet Application.

So that is the starting idea we will work on, obviously your input is more than welcome.

The way I see it, this application obviously requires some kind of database, registration, public and restricted access to selected people, calendar, etc. Not overly complicated, but enough to be a “real world” application, quite typical of many web tools, and maybe interesting enough to get some real use.

Tutorial Table of Content (Subject to changes)

So, what’s the plan, and what are we going to learn along the way? Obviously, nothing is casted in stone here, as I need your input to help me to decide on which subject we need to spend more time, but here it is, for now:

These are the main points, but in between and in no particular order, we will be talking about Version Control (with Git), using NuGet, LinQ, Tasks and Parallel programming, Open Source, some JQuery libraries, and so on.


There is a lot of material to cover, and it will not be possible to dig into each one of those different tools and technologies. The goal of this tutorial is to guide you on starting your own journey in web programming, not to explore in depth all possibilities. As with any projects, choices will have to be made. I’ll do my best to explain the reasons, but, again, I am not going to dig into alternatives where they exists. Where it make sense, I will point to books or web posts, so that you can explore by yourself.

What I will be striving for in this tutorial, is to give you a good “taste” for MVC 4.0 Web Application development, saving you time in regards to a lonely exploration. I will try to show you a molehill where one is, and not a mountain, but there are also mountains, and I am not going to climb them for you….The good news is, most of the time, you don’t HAVE TO climb the mountain, just to know where the pass is…

If you are interested by this tutorial, and wish to quickly know when a new step is published, I invite you to subscribe to email updates : Subscribe to BGSoftFactory “Le” Blog by Email

Thank you in advance to use comments to react, let us know what you like and want, let us know about difficulties you may have. I hope to make this tutorial as interactive as possible.

This work is licensed under a Creative Commons license.
Posted in Tutorial, Web
3 comments on “Building a Data Centric Web Application with MVC 4 and Entity Framework – Tutorial – Introduction
  1. Howdy, I believe your blog could be having internet browser compatibility issues.

    When I take a look at your site in Safari, it looks fine but
    when opening in IE, it’s got some overlapping issues. I merely wanted to give you a quick heads up!
    Aside from that, excellent website!

  2. says:

    Hello, I enjoy reading through your article. I wanted to write a little
    comment to support you.

Leave a Reply

Your email address will not be published. Required fields are marked *



On Site Search

Custom search