"""

Objects: Project, Revision, File

A project contains many revisions. A revision contains many files. A file can contain statistics, issues etc.

This structure can be mapped either to a directory structure, or to a database via an ORM layer. That's the purpose of the backend.

An object has attributes and children

"""