views:

331

answers:

8

I want to learn more Asp.Net (and MVC). I would like to say I am a decent developer, but everything I work on seems to be maintenance or enhancements. I want to start a website or web app completely from scratch. I would prefer to use MVC, but whatever the better framework, I would use. I also want to make it for myself (maybe eventually making it open source).

Obviously this rules out OpenSource projects, and places like RentACoder. I would also prefer something that needs a database, includes Ajax, everything, throw the kitchen sink at me.

Anyone got any good ideas of projects I can work on? I have a few in mind, some too obvious, like creating my own blog, but basically I just want something that is going to help me learn and polish my skills.

+11  A: 

Create a personal day planner. Sure it has been done, but day planners never meet anyone's exact dreams and wants. We always find ourselves molding our planning to the planner. It provides opportunity for many rich UI functions for data entry, reporting, display, etc.

Russell Steen
Nice, see this one is awesome, keep em coming.
Martin
+1  A: 

A project tracking tool. There are plenty of good samples out there so if you feel a little low on ideas about what to try and code for it you have a plethora of examples to look at. Plus, it can be as simple or as challenging as you want it as your skills increase. For example, you could just create a way to track tasks for a project and produce a few simple reports. Then when you have that under your belt you could consider adding features such as a project wiki to track requirements and/or add functionality to the tool to help with agile processes such as a burn down chart and functionality for tracking sprints. Then you could start writing functionality that will predict when you will ship such as with Monte Carlo simulations.... The skies the limit on this but just as easily can be kept small.

EDIT: OR....

Much like the online tools for converting from c# to VB or vice versa..... How about a tool to syntactically convert SQL to LINQ to SQL?

klabranche
I had thought about doing a kanban style project tracker, but AgileZen.com is pretty sweet.
Martin
+1  A: 

A blog engine. Its the new Hello World.

But seriously, something like a social networking site (i.e. Facebook but smaller scale) would be a great place to test site design, AJAX interactions, database design, and community interaction. Pick a topic you care about, and create place for other people who care about it too.

Matthew Jones
+1  A: 

I've always wanted to write an application that helps me find stuff I'm looking to buy from sites like craigslist, ebay or the local paper web site. I wrote one originally but it was a bit kludge and could not support multiple users (disappointing when friends asked for a copy). However, since it ran early in the morning, i was always the first responder as my little app 'read the paper' for me.

Would be cool if you could register for the site, add keywords in your wishlist, add site pages you want to scan and an email address to send the results to.

asp316
+1  A: 

Are you involved with any sports or hobbies? I'm a competetive fencer, as well as being involved in the sport on the administrative side; one of my on-going personal projects (one that will never be finished, never released, etc, but is fun for me to play with) deals with all of the organizational details of running a division (geographical area): tournaments, athlete database, rankings, ratings, membership information, etc.

Every sport/activity/hobby has its own arcane record-keeping needs; do something for one of your non-tech interests.

Adrien
A: 

I'd always thought it be fun to write something like a delicious or magnolia (now defunct). Involves writing a rich client, working with a database, community/social networking aspect, web services, you could go mvc or non mvc. There's many features I'd like that current bookmarking sites don't have.

Steve
+2  A: 

Write an app to manage your monthly finances or budget. It has enough of a problem domain to make it interesting, plus everyone usually handles it a little differently. Plus, it can't hurt any of us to focus on good spending habits ;)

Another decent one is an app to manage your book collection or reading list.

I'm pretty sure I got these ideas from Dave Thomas (from the Pragmatic Programmers). I can't remember exactly where, but I need to give credit!

Ben Anderson
I like the budget app, but YOU try to get my wife to follow it!
Martin
+3  A: 

If you're looking for ideas, rummage through the coding4fun site. I'm sure something there should trigger an idea.

And as you're doing it to learn, make sure you're interested in the problem domain. Otherwise, it'll become "work" and you'll lose interest.

Things that typically come to mind:

  • Social communities around something you're interested in. Local hiking trail ratings, local/youth sports, etc.
  • Collections: managing comic book, trading cards, etc. collections with information about pricing, is it going up or down, who's looking to buy/sell/trade it?
  • Personal Information Management applications such as planners, list organization tools (GTD), or something even lighter.

Again, it' important that you choose something that is interesting to you and that will drive you to complete it.

andymeadows