I'm trying to teach myself how to use Modern Persistence Patterns (OR/M, Repository, etc) and development practices (TDD, etc).
Because the best way (for me) to learn is by doing, I'd like to build some sort of demo application for myself. The problem is, I've got no idea what sort of application to build. I'd like to blog about my experience, so I'd like to build something of some worth to the community, but at the same time I want to avoid things that others are actively doing (web commerce, forums) or have been done to death (blog engines).
Does anybody have any suggestions for a good pet project I could work on and maybe blog about my experiences with?
There are innumerable community-service organizations with little or no web presence.
Pick a service organization -- any one -- Literacy Volunteers, Food Pantries, Home Furnishings Donations, Alcoholics Anonymous -- anything. The grass-roots community organizations benefit the most from involvement; they often need a more dynamic web presence but can't afford it.
Look at their current web site. Build them something better. Donate it to them.
I would say an excellent way is to start with the sample project for a core framework you want to learn or build your application around. Using Spring as an example, they have a great 'pet store' web application that you can download that shows how to use many different parts of the framework in the recommended way. From there, you can expand on it: check it into source control, get automated builds going, add your own unit tests or test-first additions, swap in your own ORM layer, try different view layers, etc.
Once you have everything working as you want, then you can branch off more easily and even create your own app from the ground up using what you've learned.
I find starting with a good base ('good' being important, as you want to learn the best practices and not just base your work on something hacked together by a random internet user) and building out really helps, as opposed to just starting with a blank project which can be overwhelming especially if trying to learn a bunch of new things at once.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With