I work for a jazz organization and I am going to be building a system to handle application forms for a touring bands program we have. The application forms (which bands fill out to apply to the program) are quite extensive and involve multiple file uploads, a subform for each band member, and other non-trivial features.
Rather than make the form specific to just this application, we were thinking of writing the system in a more generic way and then releasing it as an open-source project (probably a Joomla component if I can get Doctrine ORM version 2 to work well in Joomla).
The attached image shows the UML diagram I've created (still a work in progress).
The part I'm having trouble with is how the sub-applications should be handled. Right now I have the ApplicationForm class and the Application class (which is for actual application instances filled out by the bands) both containing references to their respective sub-application objects. I'm just wondering if this is the best way to go about it.
Please don't be confused by the rest of the diagram; I have the rest of it mostly figured out, I just included the whole diagram for context.
If you think I could simplify my question or explain it better, please let me know.
Thanks a lot,