I'm creating a volunteer database. Phase 1 is just getting some basic volunteer info, Phase 2 will be to track volunteer hours at events.
For Phase 1, I've created custom field groups I've attached to the user and use user profile/meta forms to allow the volunteer to register and update their general information.
For Phase 2, I'm not sure the best approach, namely if it should be another custom field group attached to the user, a Custom Post Type, or something else entirely. Here's the general use case:
Volunteers volunteer at 1 to 3 of 3 annual events. They can volunteer for any of a defined number of departments. There are different "classes" of hours (pre-event, during the event, post-event) that should be tracked. The person submitting these hours will be a registered user, but will not be the volunteer who is having hours logged - for example, an event volunteer coordinator will compile all volunteer information from the event then submit it and it would somehow be attached to each volunteer.