MLSjs Example

mlsJs

About 2 years or so ago I built a website for a real estate broker in my family. I found that integrating properties with the website was a real pain.  In the real estate industry property listings get syndicated amongst real estate agents via a system called an Multiple Listings Service (MLS).  Most of the companies that host MLS listings are regional in size, but tend to have a monopoly on the area they are located in.  Such monopolies usually lead to a terrible product.

Agents essentially use a particular MLS because, well, everyone uses that MLS and it has all the properties.  I found that the MLS I was gonna use (shall remain nameless) had a huge database but was really outdated. 

There where roughly 50K properties in the system and each property had over 100 attributes.  When I had to sync up with the property database it would take several seconds per property to download the information.  There was also no real way to query properties that had changed recently or been added since a certain date. This meant I had to constantly pull the entire dataset. Not only that, the server could not handle large property listing requests.  This meant properties where never up to date and it required a lot of maintenance. 

So after a lot of pulling my hair out I decided to do something about it. I decided to create my own MLS.  Yeah, it may turn out to be waste of time, but I love to write code and create cool web applications.  My MLS was going to be the anti-MLS. It was only going to have a few attributes on the property, only the most important ones. It was also going to be in real time and really fast.  Furthermore, it would go beyond an MLS. It would provide analytics on property views and host chat.

I was able to create such a system using node.js.  Node is an event driven javascript framework that is highly scalable.  Checkout a link to the promo site here: http://mlsjs.com and a website using it here: http://www.charlesworthrealty.com/featured

Using Backbonejs and jQuery Validator

I spent about an hour getting jQuery validator plugin to revalidate error fields.  Anyways, finally got it working by attaching a keyup event and using .valid():

JavaScript and Callback Functions

Came across a great post on JavaScript variable scope when working with loops and callbacks: http://blog.mixu.net/2011/02/03/javascript-node-js-and-for-loops/


The authors post on nodejs design patterns is also worth a read:
http://blog.mixu.net/2011/02/02/essential-node-js-patterns-and-snippets/.

3rd-Eden: Lessons learned from entering Node Knock Out

3rdedenblog:

As the second NKO is reaching it’s end I would like to share my experiences and lessons that I have learned from entering the contest in 2010 and 2011. I hope this would help some people in the future to prevent them or learn from the countless mistakes I have made.

Sleep is for the weak

(Source: 3rdedenblog)