My friend Az asked me if I could do a file management system for the company he works for. Basically they needed a website that ran only on their internal intranet that allowed the users to upload and manage documents online for individuals to download and use. The users that logged in would be able to upload documents to the site and organize them in a hierarchical manner.
The hierarchical structure is built using the taxonomy module. I wrote a small module that handled the form alter for making sure the taxonomy element selected doesn't have an child terms. Also the module handled the path callbacks so that the arg sent in is checked to see if it has any child terms. If there are child terms, list those terms as link callbacks. If there aren't any child terms, send that arg to the view that lists the document.
I made some changes in the theme to be able to make the file link to the node title.
The other module they wanted was injury time. They wanted to be able to edit it themselves, so I made another module that built a custom block that handled that information. Editing that block would bring up a date field and a 'reason' field. Basically that date field recorded the day of the last injury. The days are counted from the last day there was an injury until the current day.
I had fun building this site. It wasn't very difficult, but it allowed me to turn my thoughts into drupal modules and themes. Although it wasn't the most complex module(s) that I've ever written, but it showed me that I can take the Drupal data node structure, and plan out a relatively complex site with custom and contributed modules to build something very quickly and without a lot of planning.
I did learn one thing from this experience. Views is a very very powerful module. Not that I didn't know that before, I just never had the opportunity to explore how powerful it was for my own web app.
At this point, I'd post a link on where to find this site, but since it's on an intranet, I won't be able to link directly to it. I'll post pictures so you can visualize what was done.