What is this new project currently named “CodenameTBD”? First a quick background…
Background: I started getting into the .NET environment back when VS.NET Beta 1 came out. I was also big into digital photography and not satisfied with the personal utility software packages out there. So, I hashed out a feature set with a friend/co-worker who had the same interests (Marshall Butler) and decided to build my first .NET/C# digital photo utility app. The three driving forces behind this initiative were:
- I firmly believe the best way to get a new technology under your belt is by applying it to a project. So, this was going to be the perfect case study to learn about as many of the .NET Framework base classes as possible.
- I wanted to learn C# & WindowsForms.
- The existing photo software utilities just didn't cut it… I wanted something that would rename all my photos with a numeric prefix (to keep order) and resize them for my online album.
So I spent a few months of spare time and built my first .NET app. It was/is slow and not well designed, but it got the job done and I accomplished all three initiatives above. That was over two years ago… a year later I decided that I needed to think more in terms of application arcitecture/design and make it an all-around better application, as well as add a ton of features to it. Well, the long story short is that I dropped it as I (like many developers) got too excitied about the final product and I designed it as I went… NEVER a good outcome. It was to be a WinForm app with numerous modules eventually tying into a web app. So, that was scrapped as well.
After I put out my online album (ASP), I saw how much my family really enjoyed it. There were other things that they asked for and I was floored by how popular it became within the site! So, I purchased a few new domains and planned to make a family site… about two weeks ago, I had an epiphany…
Present Day: So, that's the quick background. I have now decided to move in a slightly different direction. Because most, if not all, of my job involves web applications, I figure that I should focus on that first… plus I'm in the midst of the MCSD cert, C# .NET track. Let's just cut straight to the chase… my new project is a family web application. What is that you ask? That's the project. I'm going to build a site that is a family directory, photo album, and blog/forum-like environment for my extended family. There will be some neat things such as a dynamic & graphical family tree, a family cookbook (which, thanks to my wife, was the hit Christmas present last year) and anything else I can cram into it. Technically speaking, it will be very componentized and very professionaly done… after all, it's my pet project.
So where am I in the development of it? I am sticking to my guns on this: no website or stuff to show until the core framework is complete… that includes the requirements and features. I'm about 70-80% finished with the feature list and datamodel. Right now I'm focusing on the architecture of the application (namespaces, classes, data layer, biz layer, etc) and plan to spend a significant amount of time on it. My goal is to make it very easy to add additional modules (current modules include directory w/ family tree, photo album, cookbook, individual blogs, forums, etc.). I have three underlying goals of this site”
- Architecture, design, and technically speaking, this has to be my best work yet… something I'm proud of.
- The site should be VERY user friendly and provide a good use to my family members… otherwise it's worthless if no one uses it.
- Secure: if I'm going to store photos and directory info, I REALLY don't want anyone in my family being concerned over privacy. So I'm going to the extent that family members can see anything on the site, but outsiders get a slimmed down version. Certain photo albums will be kept from outsiders, some will be wide open. Why? Well, let's just say I was a little freaked out when I got a random email from this girl who said they were doing their wedding at the same resort we stayed at for our honeymoon and could pick up a little too much info from my pictures that I cared for. How secure? Phone numbers, addresses, email addresses, and passwords will all be encrypted in the database so even if someone did compromise my site, the data would be worthless.
I'll use this blog to post updates of my progress… I may even put screenshots of the architecture and datamodel in a gallery! (oh goodness, he's out of control. Got any ideas for the site? Please pass them along! I will prob make this project open source and free-ly distributable.
Currently the project is called “CodenameTBD” because I haven't thought of a good name. I have an idea for the real final product name, but I'm not thrilled with it. I'll rename and make an announcement here at a later date.