Erlang applications, Zotonic modules, and sites

These terms describe different parts of the system.

An Erlang application is a package described by a .app file, normally generated from src/<name>.app.src. It can provide modules and an OTP application callback.

A Zotonic module is functionality that can be activated for a site. Its main Erlang module declares attributes such as -mod_title and -mod_depends.

A site is a named website with its own configuration and runtime context. Several sites share the same Erlang VM and loaded code, while module activation and site data are site-specific.