Need help with PoP?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

leoloso
175 Stars 20 Forks GNU General Public License v2.0 3.5K Commits 58 Opened issues

Description

Monorepo of the PoP project, including: a server-side component model in PHP, a GraphQL server, a GraphQL API plugin for WordPress, and a website builder

Services available

!
?

Need anything else?

Contributors list

# 181,486
Shell
GraphQL
WordPre...
Less
2587 commits

PoP

PoP

This is a monorepo containing all layers from the PoP project:

Engine:
A server-side component model in PHP.

Schema:
The definitions for data entities (posts, users, comments, etc).

API:
Packages to access the schema data through an API, including REST and GraphQL.

GraphQL by PoP:
Implementation of a CMS-agnostic GraphQL server in PHP (graphql-by-pop.com).

GraphQL API for WordPress ecosystem:
Implementation of the CMS-agnostic GraphQL server for WordPress. This layer comprises:

Site Builder:
Packages to build a website using the component-model architecture (WIP).

Wassup:
Implementation of a PoP website for WordPress (powering MESYM and TPP Debate - WIP).

Misc:
Collection of packages, clients, and others, related to PoP or any of its layers.

Requirements

  • PHP 8.0+ for development
  • PHP 7.1+ for production

Install

Clone the monorepo:

git clone https://github.com/leoloso/PoP.git

And then install the dependencies, via Composer

$ cd PoP
$ composer install

Table of Contents

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

Resources

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 CODEOFCONDUCT 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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.