FA has an includes folder in each major functionality's folder (sales, reporting, etc) besides a common one in the webroot. Each db folder in the major functionality's folders are basically models in the MVC architecture where themes serve the views, the actions coming from the URL GET parameters and the ACLs from the session variables.
Using a trigger to make the extra fields get inserted when the primary table's insert succeeds is one way to avoid writing php code.
As for docs, what little I have culled out is placed in the Wiki which would benefit from better organization as I have been left on a limb quite often when searching for my own nuggets hidden there in not very intuitive key word search terms.
Where possible, I have cross referenced in the wiki pages, the forum posts that pertain to it but not vice-versa very much.
Foreign Keys and references are due in FA v2.4 only.