Django + mongodb + jquery ui = nice place to develop web apps

Working in the software industry, the term ‘innovation’ is used on a daily basis. This one word promises so much but how do you foster innovation? This is a huge challenge, one which will most probably not be solved by any one piece of software, but software could be used to facilitate accumulation and voting of ideas.

I searched online for something that would fit but as often happens I could not find anything that met all my requirements. What now? Well, why don’t I write my own software? I wanted it to be available online, so I decided to write a web application.

I have never written a web app before, so my first step was to find out how much I could get for free and not write myself, seems like a logical step. My first port of call was the Google App Engine and GWT and since my  two languages of choice are Java and Python it seemed like a perfect match. For a number of reasons this did not work out, an app written for GAE is not super easily ported to another app server or cloud, also my personal opinion is that GWT is not quite there yet.

After a few more failed attempts with different “out of the box solutions” I decided to give Django a shot and I chose mongodb as the database, for no other reason than I wanted to experiment with different databases. Immediately whilst googling these two technologies I discovered mongoengine as a method of marrying the two and after a few minutes I was creating objects and storing them in mongo with ease.

So I set about creating some requirements for an idea submission and voting tool, but as I implemented these requirements grew, thankfully making changes with Django is easy. Once I had the basics up and running, I realised I needed to improve the user interface, since Django plays nice with almost anything, I went with JqueryUI.

Overall the three technologies played nice with each other, Django makes it easy to get a web application running quickly and without many requirements, mongodb is a joy to use when used with mongoengine and JqueryUI is very simple to use as long as you don’t stray too much from their example code.

One problem I did have was when I wanted to deploy to a ‘production’ environment, the advice I read was to use modwsgi, so I tried several guides I found online but none worked. In the end it was a combination of information from these guides that allowed me to deploy on an Ubuntu distro using apache and modwsgi.

I would have no fear in recommending this technology combo to anyone who wants to rapidly put together a web application with no fuss.

To have a look at my efforts, browse to http://server.jameswhite.ie

p.s. the project is opensource and can be found here: https://github.com/jamesmwhite/innuvate

Posted Sunday, July 24th, 2011 under web app.

7 comments

  1. Have you ever considered publishing an ebook or guest authoring
    on other blogs? I have a blog centered on the same information you discuss and would really
    like to have you share some stories/information.

    I know my visitors would enjoy your work. If you are even remotely
    interested, feel free to shoot me an e mail.

  2. What’s up folks, I am something of a home decorator addict. Hey, how are you? I personally was reading this information and I honestly loved it. This has several truly decent tips that I can soak up. I have to bring up, I’ve ended up lonely in recent months
    because my best friend is not here with
    me. Scouting around the web gives me a little bit of piece of mind .
    I’d personally choose to give thanks to you for doing this superior on-line blog post which will can help spread out the message in regard to home decorators even more! I really was thinking about if you provide an e-mail list so I can routinely keep current here.

  3. Touche. Outstanding arguments. Keep up the good spirit.

    Feel free to visit my homepage – mice repellent (https://www.sellaband.com/en/believer/camera14raven)

  4. Undeniably believe that which you said. Your favourite
    reason seemed to be on the web the easiest factor to be aware of.
    I say to you, I definitely get irked while other folks consider concerns
    that they just do not recognise about. You managed to hit the
    nail upon the highest and also defined out the entire
    thing with no need side-effects , other folks can take
    a signal. Will likely be again to get more. Thank you

  5. I’m now not sure where you’re getting your information, but great topic.
    I must spend some time finding out much more or figuring out more.
    Thank you for wonderful info I was searching for this information for my mission.

  6. I read this article completely on the topic of the difference of latest and earlier
    technologies, it’s remarkable article.

  7. Hello, constantly i used to check website posts here early in the morning, since i enjoy to find out more and more.

Leave a Reply