One of the tasks that has been on my "to do" list for quite some time now is to build a big, real world-ish application that not only provides value to the community but also shows-off a lot of the RadControls in action. It's a big task and one that's especially hard to tackle when traveling about the world to speak and preparing smaller demos that work well in "small bites." But I'm putting my foot down and committing to begin work on this big project now!
The goal of my "big project"- which, by the way, still needs a cool code name- is to build an open source-ish (it'll be using Telerik UI controls, so it won't be completely open source) .NET event management application. Actually, I'll be re-building an application I originally built before I joined Telerik called CareerFair LIVE. CareerFair LIVE, which is still alive and well today and supporting a number of college career fairs, is a hosted online application (SaaS, if you will) that provides colleges with a complete platform for running job fairs. The system collects company registrations, handles credit card payments, generates reports, has built-in HTML email campaign support, and a number of other tools that are essential to running a job fair. I'll provide more history on the roots of Cfair LIVE in future posts, but the point is it's a "real world" application that uses many of the RadControls and it's how I first met Telerik.
For this new iteration, I want to make an application that is even more generic and flexible; one that can handle many different event types (other than career fairs), such as smaller tech expos, huge trade shows, and community events like summer camps. Basically, anything that requires a registration process. To help limit the scope for my first efforts, though, I'll be focusing on making the system flexible enough to support job fairs (my area of domain expertise) and tech expos (an arena that I think can benefit from better tools). Other specific implementations will come with time or community involvement.
Part of the success of CareerFair LIVE was our ability to keep the tools "simply powerful." In other worlds, enable users to accomplish many tasks without needing a lot of training or technical expertise. I want to build applications that pass the "Mom Test." Telerik's latest RadControls for ASP.NET AJAX are going to make that possible. I also want to extend this application beyond ASP.NET AJAX, providing support for UIs like the iPhone in the mobile space and WFP touch-screen in the desktop space. Ultimately, I want this to be the best .NET event registration application available.
The basic architecture will look something like this:
I've picked NHibernate for my ORM tool to keep this as open source as possible, but in the future I may change the ORM data layer to show how a well structured application can make (relatively) easily a seemingly difficult change. I'll be using PayPal as the primary payment provider because it's simple to interface with and something I'm familiar with (I am a Certified PayPal Developer, after all). Development on this new project will start soon, and as soon as I have something meaningful, I'll try to get it hosted on CodePlex. From there, I'd love to get your feedback! I'm a UI guy- I think at the interface level- so I'm no great application architect, but I know many of you are great application architects. So, if you're interested in contributing to the project once it gets going, let me know so I can get you involved.
There will be many more posts that this project generates as I relay to you the challenges and triumphs of the development, but ultimately the goal is to provide an outstanding reference app that will be deployed in real world scenarios that you can use to maximize your Telerik learning. Stay tuned for the fun and feel free to send me your ideas!