Hey @Toby and @Franz,
I've been out of pocket for a little while, working on some personal projects, getting better versed at OOP, learning about some code quality tools, and working through some tutorials on the Laracasts site, in part so that I could potentially have an opportunity to contribute to this project.
I pulled down the latest updates this morning and took a look through the backend architecture files (primarily model classes in the core, and related action classes under the src/Api directory), and had a few observations:
Most, but not all class attributes and methods have PHP documentation blocks preceding them, including definitions of what values use, their return types (if applicable), and - in the case of methods - their purpose.
Some of the documentation blocks are outdated, including cases where method parameters were added, changed, or removed, and the documentation wasn't updated.
In some cases, where parameters are being accepted and type-hinting is an option (such as when we're injecting objects as a class method dependency), we're not actually hinting the type. This leads my IDE (PhpStorm, though likely others' IDEs as well) to think that the object methods are not defined as part of that object.
There are a few cases where we're magically assigning property values to objects.
My question is thus:
Are there any opportunities for someone like me to contribute code quality improvements to this project? And, if so, what's the best way for me to get involved? Should I document the list of file-specific issues I see and open an issue on Github? Do I mark up the code in a separate branch and submit a pull request? Some alternate method that I'm not thinking of?
I'd love to contribute to this project and help make it better, I'm just not quite sure where are how to begin.
Appreciate your thoughts.
Best,
Jeremy