Skip to content

Code Structure

Edward Hibbert edited this page Dec 20, 2017 · 2 revisions

Here's the bird's eye view of what code lives where. There are a few other bits and pieces but these are the main ones.

  • composer contains 3rd party PHP components which are installable via composer. We don't have a build process for the server, so we manually add them using the composer CLI and then check the result into our codebase.
  • http is accessible via the web server.
    • api contains all the endpoints for the RESTful API. nginx configuration may affect how these are invoked (e.g. /message/1 becomes /message?id=1).
    • There are a few top-level PHP files, e.g. index.php.
    • All the other client code is deployed here but is built as part of the iznik-client project.
  • include contains our class files, typically invoked from API or script code.
  • lib contains 3rd party PHP code not installed via composer.
  • mailtemplates are PHP code which expand to HTML for inclusion in emails.
  • scripts are PHP scripts run on the servers either using cron or from the CLI
  • test contains our test suite - almost exclusively PHPUnit tests for the server.
Clone this wiki locally