Geeks With Blogs
Rajesh Pillai My experiments with asp.net mvc, jquery, wpf, silverlight, sharepoint, tdd and design patterns.

Welcome to eBoard

Hello and welcome to this series of application development using asp.net mvc, jquery, automapper, ninject.  Though the world doesn't need another blog engine, but sometimes reinventing the
wheel teaches you many unknown things and it's the learning experinece that counts more than anything else.

I have been using asp.net mvc + jquery for about a year now.  So, it's time to put down something which will help the beginner with this technologies get a good graps of the fundamentals skill required
to do web development. 

The side effect of this is we will also learn about some design principles, best practices and troubleshooting will add icing to the cake.

Without further ado, lets begin.  Let's first lay down the basic business requirement for the blog engine.  This may be simple in form, but will help us keep an eye on the actual requirement and prevent
us from deviating from the main goal.

The blog engine will be named as "eboard".

Requirements

  1. Multi blog support : The user should be able to create multiple blogs.
  2. Make posts
  3. Assign a category to the post
  4. Assing one or more tags to the post
  5. Allow readers to post comment
  6. Comment Moderation
  7. Simple Blog Settings like theme selection.

Apart from creating a working blog engine the following are educational/learning benefit the reader may derive from this experience

  1. Learn asp.net mvc and jquery
  2. Learn to design/extend a validation framework
  3. Learn about Repository pattern
  4. Learn dependency injection using Ninject.
  5. Service design
  6. Design for testability (though we won't be writing test at this point in time).

With the above requirements in mind lets move ahead a take a shot at creating the database for our blog.   Some of the reader may frown at this idea.  Designing the database first or the model first is akin to
the chicken and the hen problem.  But for this small application I think the database design will closely mimic the model as well.  Please free to shout at me if you feel anything is terribly wrong here.

The initial DB model looks like the figure shown below.
 

DB Model

We are using the membership provider for users and roles. The above DB model gives us a good start in designing our blog.  It has all the essential elements to support the business
requirement that we have laid out for "eboard".

The below table highlights the essential details about the above model.

BlogSettings This stores the essential settings related to blog.  Curently it has only the name of the theme and comment moderation flag.  This can be extended as required.
Blog This allows us to have multiple blog created.
Post The posts that goes with the blog.
Comment The comments that goes with the post.
Category A post can belong to only one category.
Tags A post can hve multiple tag.  Tags are useful for search.
   

That's it for this episode.  In the next episode we will layout the folder structure for the "eboard" application.  Till then happy learning and enjoy blogging.

Posted on Friday, November 27, 2009 12:17 AM jQuery , asp.net mvc , Application Development | Back to top


Comments on this post: Lets build a simple blog engine [eboard] - 1

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
arrival blog blog engine makes the world increasingly crowded and colorful
Left by Indonesia Java International Des on Dec 30, 2009 1:06 PM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
great article brother ... :)
Left by TD Banknorth Garden on Feb 11, 2010 12:19 PM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts
Left by Vini Bio on Feb 25, 2010 11:12 AM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
it's time to put down something which will help the beginner with this technologies get a good graps of the fundamentals skill required
to do web development.
Left by watch remember me online on Mar 01, 2010 9:36 PM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
This blog contains really good stuff.Thanks for sharing this interesting blog.
Left by Job posting search on Apr 03, 2010 11:29 AM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
Exciting database structure. You have good-looking theme on this site. I'm searching a good theme for my new blog about civil rights.
Left by Pikavippi on Dec 03, 2010 4:24 PM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
You made some decent factors there. I appeared on the web for the problem and found most individuals will go along with along with your website.
Would you be excited about exchanging hyperlinks?
Nice post. I be taught one thing more challenging on completely different blogs everyday. It would all the time be stimulating to read content from other writers and apply somewhat something from their store. I’d want to use some with the content material on my blog whether or not you don’t mind. Natually I’ll give you a hyperlink in your net blog. Thanks for sharing.
Left by Hearing protection on Mar 11, 2011 6:19 PM

# re: Lets build a simple blog engine [eboard] - 1
Requesting Gravatar...
Hi, nice post. It is very interesting post and i like it very much. Thanks
Left by Online tutoring service on Aug 01, 2012 3:41 PM

Your comment:
 (will show your gravatar)


Copyright © Rajesh Pillai | Powered by: GeeksWithBlogs.net