Spryker QUEST

GENERAL TECHNICAL REQUIREMENTS
Content

1. License

  • The module must be licensed under the MIT license
    • Exception: If reusing any Spryker code, the original Spryker license must be retained
  • Additionally, do not incorporate code from other sources without ensuring proper licensing and attribution

2. Packaging & Structure

  • Valid `composer.json`:
    • Specify php version range
  • Module(s) installable via Composer (no need for publishing in packagist)

3. Coding Standards & Best Practices

  • Use SprykerCommunity namespace
  • PSR-2 compliant code formatting (i.e. use vendor/spryker/code-sniffer/SprykerStrict/ruleset.xml
  • Follow standard Spryker module structure with appropriate application layers (see also https://docs.spryker.com/docs/dg/dev/architecture/modules-and-application-layers.html)
  • Adhere to Spryker's standard coding conventions (see also https://docs.spryker.com/docs/dg/dev/architecture/architectural-convention.html)

4. Security & Performance

  • Prevent SQL injections or XSS vulnerabilities
  • No hard-coded credentials or secrets (see also https://docs.spryker.com/docs/dg/dev/guidelines/security-guidelines.html)
  • Follow Spryker performance best practices – no N+1 queries, proper indexing for database operations (see also https://docs.spryker.com/docs/dg/dev/guidelines/performance-guidelines/architecture-performance-guidelines)
  • Input validation and sanitization

5. Documentation

  • README.md must include:
    • Essential: Module purpose, prerequisites, installation steps, basic usage examples
    • Recommended: Visuals, configuration options, dependency information
    • Optional but valued: Edge cases, limitations, advanced usage scenarios

6. Testing

See also https://docs.spryker.com/docs/dg/dev/guidelines/testing-guidelines/testing-guidelines

  • At least 5 meaningful unit tests
  • At least one integration test (module boots and basic functionality works)
  • Tests should follow Spryker's testing conventions (using proper test helpers and mocks)

About Spryker

Spryker delivers B2B commerce, marketplace, and self-service solutions for companies with complex products, business models, and customer journeys. Built on a composable, API-first architecture, Spryker integrates into existing technology ecosystems so businesses can adapt faster, scale globally, and launch new digital capabilities without being locked into rigid platforms. From ordering and account-specific pricing to service, support, and portal experiences, Spryker helps companies create seamless customer journeys across both transactional and non-transactional use cases. Spryker is trusted by enterprises worldwide, supported by a global partner ecosystem, and recognized by leading industry analysts for complex digital commerce use cases.

Spryker Website