Are modules built for Platform or the Reference Application?

Hi all, i am a bit confused on where to start with OpenMRS. I am new and i want to try to build (test) a new module for public health surveillance using OpenMRS, but with the opemrs-core customize for the my specific need.

Should we start with openmrs platform version (ex 1.11.x, 1.11.5) or the reference application (openmrs platform 2.0) ? Can you refer to more detailed documentation on the architecture, technology stack and proejct structure of openmrs 2.0?