You can create your own modules for Magnolia. The best practice is to package your entire website project, including customized templates, components and content, into modules for easy deployment. In this section you find the set of tools required for development. If you have experience developing webapps, you should be able to apply them to any platform.