Let's review the source code of each file where applicable. With some files we'll go into details but with others I'll simply provide the code for you to copy/paste.
As much I dislike you just copy/pasting code and not writing it out, there is a good reason for it in some cases. This will be explained.
Here is the directory structure of the project:
1 2 3 4 5 6 7 8 9 10 11 12 13
I truncated the output from
tree, above, to make it bearable to read
We'll go over each file in detail below.