Documenting code structure of ODK Collect


I am trying to document the file structure of the app. Currently for doing so I am going through the issues and PRs in GitHub repository. The document should include all the basic information needed to get anyone (user, programmer or tester) started easily. Since I haven't done App Development in a while, my question is what level of information must be included in the docs so that new contributors can work easily?

For example, we can explain what src, src/main etc contain to a user, but what all must be included for a person who already knows Java and wants to contribute (coding)?

This is the PR in progress -


Hi Mish! It looks like @adammichaelwood answered on the PR that the file structure he's referring to was the /odk/ file structure. I think that's a great use of your time, but I also think source structure could be an important thing to add at some point to the docs.

For example, Aggregate has had a source code overview at for a while. I'm curious if recent newcomers to ODK would have found a source overview of Collect useful? I've invited a few folks to this topic to discuss...

Actually I was trying to install Collect myself on Android Studio and make some minor changes to understand the codebase (I haven't done app development in a while). Hence I thought that the specific docs should have some references, or maybe list some requirements or new technologies/libraries a new contributor must know to get started.

Is it okay to ask the developers directly in such case?