I’ve been thinking about putting together a physical training application for a while. I do a lot of running and working out, but I think I may have stress-fractured my foot a couple of weeks ago. So no better time than the present to work on something to help me in the future. I know there are a lot of training apps and running apps out there, but I thought I’d take a shot a writing one.
Hmm, I've made a change of decision on this one. A while back, a couple of friends and I were talking about a home automation solution using Z-Wave technologies. In addition, it's a lot nerdier than the previous idea, so might generate more interest in general. So the basic idea is to create a web based application that can do the following:
- Allow control of Z-Wave devices via an ASP.Net application.
- Allow these devices to be controlled remotely via the web.
One of the reasons is that I’ve been looking to do an app is that Mindscape has a new version of their ORM tool out: LightSpeed 3.0. I really like this ORM, check out my previous entry on LS 3.0. Another reason is that for an application at work, I had to build an Ad Hoc Reporting system for an application I work on. I started out using the SQL Server Reporting Services (SSRS) Ad Hoc Reporting support. It’s a really cool tool. But I build applications for a customer that is relatively serious about security. Nothing super secret or all that exciting, but there are a number of locations that use this application, and some of them have their systems locked down very tightly. The down side was that some of them simply couldn’t download the report builder that is used with SSRS. Instead, I had to go with a “pure web” approach. While looking for something that would save me needed time and resources, I came across the DevExpress ASP.Net product library and used it extensively to build my Ad Hoc functionality. It was a huge help. They have a grid product that’s probably the best I’ve seen. AJAX enabled, all the bells and whistles, and it can use a LINQ data source and actually leverages the LINQ provider to perform all of the data operations on the server, saving a lot of overhead on the client. So I had an idea to try and do a RAD application with a rooting in Onion Architecture.
So my basic approach is:
- ASP.Net/C# application
- SQL Server Database
- LightSpeed 3.0 ORM
- Dev Express ASP.Net tools in the UI
- Attempt at pulling it together in an Onion-style architecture.
- For Z-Wave connectivity, I'm using the ControlThink .Net API.
The domain name I found was Gigabody GigAbode. Yeah it’s goofy, but I’ll stick with it for now cause I don’t have anything better. I’ll get started in the next installment on the basic project setup and first steps.
Articles in this series:
LightSpeed 3.0 App – Part 1 – Project Setup
LightSpeed 3.0 App – Part 2 – Logging and IOC Initial Setup