Project - Migrate IdeaStrike to RavenDB

Disabled means scrollable is allowed? I contributed to a few open source projects last year but never really got any continuous steam going. After reading Scott Hanlesmans post Get involved in Open Source today a couple weeks ago I’ve been energized. Geared up so to speak to find a couple of OSS projects that interest me. The guys over at Code52 are doing some great work, tackling a new OSS project every week. Given my current time commitments that is too much BUT I sure would like to contribute on a small scale.

A goal is to start my own OSS project around something useful and interesting to me. The ideas have been flowing, scratch pad is getting full, but I have yet to come up with that ONE idea. I routinely review my scratch pad as well as expand it but feel my ideas are not easily arranged, sorted, updated, or ranked given my current process. I’ve been putting some thought around a new harvesting process. Then I stumbled upon IdeaStrike from the guys at Code52. What a great idea, simple, effective process and application! Review the live test site running over at AppHarbor. This is exactly what I need to harvest my ideas. After spending sometime with the application and code, I quickly realized this would be a great opportunity for me to leverage RavenDB. Porting IdeaStrike to use RavenDB as the back-end would be a fun project. This would provide good project based learning around NancyFx and RavenDB technologies, and provide an opportunity to contribute to OSS. So…What is IdeaStrike?

The OSS projects that have sparked my interest of late:

  1. IdeaStrike
  2. Octopress
  3. SignalR
  4. RavenDB
  5. Chocolatey
  6. FubuMVC
  7. Pretzel

What is Ideastrike?

Simple! Created by Code52, Ideastrike captures ideas and promotes collaboration. A tool where people can suggest ideas and a community can actively refine and enhance those ideas over time.

IdeaStrike features:

  • Leverages a lightweight MVC framework, NancyFx. Hosted on ASP.NET but can be supported on any OWIN-capable host.
  • User authentication via Janrain (RPXNow) – use Google/Facebook/Twitter to sign in
  • Markdown support just about everywhere on the site. And a preview mode too, using Showdown.
  • Twitter Bootstrap has been used as the baseline for our site theme.
  • Image Uploading using the jQuery File Upload plugin.
  • ApppHarbor support

The Port

Leverage a document database instead of a relational database. Migrate to RavenDB, either embedded or hosted in IIS instead of a SQL Server. Update the application to run on Mono.


  1. Migrate to RavenDB.
  2. Remove EF Migrations.
  3. Support Mono.

The team will be working from the ravendb branch and Trello board.

What is RavenDB?

RavenDB is a second generation open source No SQL document database. RavenDB fully supports ACID transactions, was built with performance in mind, is web scalable, and performs asynchronous and parallel indexing by default. This provides the ability to query, edit, and add records during the indexing process. Data in RavenDB is stored schema-less as JSON documents which can be queried via LINQ or RESTful API. RavenDB helps elimination the complexity of applications. A good reference project for ASP.NET MVC and RavenDB is RaccoonBlog.

RavenDB is safe by default.


Evaluate IdeaStrike

Deployed latest version of IdeaStrike on an internal server under IIS 7.0 for personal idea harvesting. This will help me alter my own idea harvesting process, providing quick access to ideas, and see the refinements to those ideas over time. In addition, deployed to an internal server at work, targeting a specific project team. The team will evaluate ideastrike’s effectiveness in harvesting ideas. The feedback gathered will be used to improve the application for individual or community based deployments.