Skip to content

Grayl is as a lightweight modular set of packages to handle several e-commerce website tasks. It can be installed using the Composer package manager. All packages include unit tests for high code coverage.

License

Notifications You must be signed in to change notification settings

scottyrichardson/grayl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Grayl - A PHP E-commerce Framework

Grayl is as a lightweight modular set of packages to handle several e-commerce website tasks. It can be installed using the Composer package manager. All packages include unit tests for high code coverage.

Features

  • Uses interfaces and abstract classes in all API gateway classes to enforce conformity.
  • Includes a custom query builder. Build SQL queries from objects and run them as prepared statements to protect against SQL injections.
  • Handles off-site Paypal payments using the Paypal API.
  • Processes on-site credit card payments using the Paypal Payflow API and Authorize.net API.
  • Reduces fraudulent charges using the MinFraud API.
  • Prevents web form abuse with flood-checks and de-duplication packages.
  • Comes with a full store management library including products, discounts, orders, and payments.
  • Communicates with common web services like MailChimp, ZenDesk, ZohoCRM, and Mandrill.

Packages

Each package has its own repo and individual instructions if needed.

Package Description
grayl-config Imports configuration files into objects for use in classes.
grayl-database-main Runs SQL queries against a PDO gateway.
grayl-database-query Builds select, insert, update, and delete queries using objects. Supports where clauses. Converts query objects into SQL statements ready for use in prepared statements.
grayl-date Handles date conversions and calculations.
grayl-display-navigation Builds navigations from objects. Tracks breadcrumbs and next/prev references.
grayl-file Creates, reads, and writes to file handlers.
grayl-gateway-common Interfaces and abstract classes used in all Grayl gateway classes.
grayl-gateway-mailchimp Connects to the MailChimp API. Creates mailing lists. Subscribes users to mailing lists. Updates user fields and information.
grayl-gateway-mandrill Connects to the Mandrill API. Populates an email template with fields. Sends the template as a transactional email.
grayl-gateway-minfraud Connects to the MinFraud API. Builds fraud check from user data and payment information. Determines if the payment is high risk.
grayl-gateway-pdo Creates a PDO object for MySQL database queries. Executes queries on the database using prepared statements.
grayl-gateway-zendesk Connects to the ZenDesk API. Creates new users. Updates user fields.
grayl-gateway-zohocrm Connects to the ZohoCRM API. Creates new contacts. Updates contact fields. Creates notes for contacts.
grayl-image-thumbnail Generates different thumbnail sizes from an image.
grayl-input-duplicator Prevents duplicate web form submissions using keys.
grayl-input-floodcheck Prevents web form abuse using time checks and keys.
grayl-mixin-common Miscellaneous mixin classes used in other Grayl packages.
grayl-omnipay-common Interfaces and abstract classes used in all Grayl Omnipay gateway classes.
grayl-omnipay-authorizenet Connects to the Authorize.net API. Authorizes direct credit card payments. Captures direct credit card payments.
grayl-omnipay-payflow Connects to the Paypal Payflow API. Authorizes direct credit card payments. Captures direct credit card payments.
grayl-omnipay-paypal Connects to the Paypal API. Creates links for offsite payment. Handles payment cancellations.
grayl-store-order Creates orders from products and sales. Tracks applied payments and status.
grayl-store-product Handles products in the store. Calculates features, quantities, and pricing.
grayl-store-sale Handles product sales in the store. Calculates sale discounts.

Archived packages

Package Description
grayl-display-content Archived: Reads large blocks of content from files into objects.
grayl-display-template Archived: Parses template files. Swaps placeholders with values.
grayl-input-form Archived: Sanitizes different types of form input.
grayl-utility Archived: Miscellaneous utility classes used in other Grayl packages.

Written by

Scott Richardson

License

MIT

About

Grayl is as a lightweight modular set of packages to handle several e-commerce website tasks. It can be installed using the Composer package manager. All packages include unit tests for high code coverage.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published