I just completed a Drupal project that was more an application than it was a website. The program pretty much centered on a custom node type that we created, and instances of this type could be accessed by users depending on their roles. The main node type linked to other nodes and had fields that were user or taxonomy references. The purpose of the site, or in this case the application, was to integrate and manage tasks for the users, to make things easier for them to synchronize their schedules. These are some of the contributed modules that our team used:
Admin_menu – This was included to allow for easier navigation of the Drupal core menu items. I found it useful since I am, as of yet, memorizing the urls of all the Drupal components. It also gives the clients who are not regular Drupal users a simple way to navigate the admin menus. I recommend this module for the “mouse” type developers like me who prefer clicking as opposed to typing.
Location – Using this saved us a lot of time because the address fields that the client wanted, were all already built into this module.