Awesome Open Source
Awesome Open Source

PoP

PoP is a monorepo containing several projects.

The GraphQL API for WordPress plugin

GraphQL API for WordPress is a forward-looking and powerful GraphQL server for WordPress.

Plugins can extend the GraphQL schema, to fetch their own data.

GraphQL By PoP

GraphQL by PoP is a CMS-agnostic GraphQL server in PHP.

PoP - set of PHP components

PoP is a set of libraries which provide a server-side component model in PHP, and the foundation to implement applications with it.

  • Website: getpop.org
  • Source code:
    • Engine: The basic libraries.
    • Schema: Agnostic data entities (posts, users, comments, etc).
    • WPSchema: WordPress-specific data elements.
    • API: Packages to access the schema data through an API, including REST and GraphQL.

Site Builder (WIP)

Site Builder is a set of PHP components to build a website using PoP's component-model architecture.

Similar to WordPress, it accepts themes.


Table of Contents

  1. Setting-up the development environment
  2. Repo visualization
  3. Layer dependency graph
  4. Supported PHP features
  5. How is the GraphQL server CMS-agnostic
  6. Why are there so many packages in the repo
  7. Why a monorepo
  8. How transpiling works
  9. How scoping works
  10. Installing the GraphQL API for WordPress plugin

Standards

PSR-1, PSR-4 and PSR-12.

To check the coding standards via PHP CodeSniffer, run:

composer check-style

To automatically fix issues, run:

composer fix-style

Testing

To execute PHPUnit, run:

composer test

Static analysis

To execute PHPStan, run:

composer analyse

Previewing code downgrade

Via Rector (dry-run mode):

composer preview-code-downgrade

Report issues

Use the issue tracker to report a bug or request a new feature for all packages in the monorepo.

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

GNU General Public License v2 (or later). Please see License File for more information.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Php (403,016
Api (21,785
Graphql (8,126
Rest Api (8,010
Wordpress (7,410
Component (4,458
Wordpress Plugin (3,392
Headless (641
Graphql Server (563
Headless Cms (334
Graphql Api (241
Related Projects