- Fork the repo and apply your changes in a feature branch.
- Issue a pull request.
Fork Zookeeper Online
Clone Zookeeper from your fork
Create and check out a new branch for your feature or enhancement
Copy config/config.example.php to config/config.php and edit as appropriate
Apply and test your changes. Please keep the source code style as consistent as possible with the existing codebase. Zookeeper Online uses the PSR-2 coding style with a couple of exceptions:
- Opening braces for classes go on the SAME line.
- Opening braces for methods go on the SAME line.
Push your changes to your branch at github.
Create a pull request
Zookeeper follows the MVC (Model-View-Controller) pattern. There are
clear architectural boundaries between the busienss logic / model
engine), the presentation, which is contained in
and the controllers, which are in
Zookeeper APIs follow the JSON:API standard. More information about Zookeeper JSON:API is available here.
The following is an overview of the source code directory structure:
As you contribute code, please observe the following guidelines:
- Code in
enginemay never reference other parts of the application;
- All access to the engine is mediated via the Engine::api pattern (see above for a discussion);
- Code outside the engine must delegate all database access to the engine;
- User inputs (UI elements as well as imports) must be scrubbed for validity, which includes limiting the input to the size of the respective database columns. Size consts should be declared in the engine interfaces.
Questions, comments, queries, or suggestions are welcome.
Thank you for contributing to Zookeeper Online!