Main repository for maintaining Shopsys Framework packages. Open for ISSUES and PULL REQUESTS.
Clone or download
Permalink
Failed to load latest commit information.
.ci dockerfiles of microservices now use multi-stage build feature Oct 10, 2018
.github fixed typo in .github/ISSUE_TEMPLATE.md (#521) Oct 12, 2018
docker dockerfiles of microservices now use multi-stage build feature Oct 10, 2018
docs added guidelines for writing upgrade Oct 10, 2018
microservices dockerfiles of microservices now use multi-stage build feature Oct 10, 2018
packages SettingValue records with NULL value are fixed and Exception for inva… Oct 12, 2018
project-base used shopsys/postgres-search-bundle in version 0.1 instead of intaro/… Oct 11, 2018
.gitignore Migrations now can be installed in different order or even can be ski… Jun 19, 2018
CHANGELOG.md UPGRADE.md and CHANGELOG.md prepared for 7.0.0-beta1 release Sep 18, 2018
CONTRIBUTING.md added guidelines for writing upgrade Oct 10, 2018
LICENSE License conditions for turnover changed May 24, 2018
README.md Added list of 3rd party licenses (#493) Sep 25, 2018
UPGRADE.md UPGRADE.md: added instructions for upgrading composer.json Oct 11, 2018
bin fixed problems with Symfony console execution May 15, 2018
build.xml added testing of microservice product-search-export during pring targ… Aug 28, 2018
changelog-linker.yml CHANGELOG.md can now be generated using symplify/changelog-linker Sep 13, 2018
composer.json used shopsys/postgres-search-bundle in version 0.1 instead of intaro/… Oct 11, 2018
easy-coding-standard.yml unified usage of ecs in all packages Jun 21, 2018
license-overview-of-included-3rd-party-libraries.md Added list of 3rd party licenses (#493) Sep 25, 2018
parameters_monorepo.yml standardized YAML files indentation to 4 spaces (#389) Aug 10, 2018
phing prepare Shopsys Framework to be able to run in a monorepo Feb 20, 2018
phing.bat prepare Shopsys Framework to be able to run in a monorepo Feb 20, 2018
phpstan.neon phpstan: ingnore whole coding-standards package Mar 8, 2018

README.md

Shopsys Framework

Shopsys Framework is a fully functional ecommerce platform for businesses transitioning into tech-companies with their own software development team. It contains the most common B2C and B2B features for online stores, and its infrastructure is prepared for high scalability.

Shopsys Framework is the fruit of our 15 years of experience in creating custom-made online stores and it’s dedicated to best in-house devs teams who work with online stores with tens of millions of Euros of turnover per year.

Our platform’s architecture is modern and corresponds to the latest trends in the production of software for leading ecommerce solutions. Deployment and scaling of our system are comfortable thanks to the use of the containerization and orchestration concepts (Docker, Kubernetes). The platform is based on one of the best PHP frameworks on the market - Symfony.

Shopsys Framework Infrastructure

Shopsys Framework Infrastructure

Shopsys Framework Package Architecture

These are most important packages and the way they depend on each other. For more info see the article Basics About Package Architecture in our knowledge base.

Shopsys Framework package architecture schema Note: The specific modules in this diagram are just examples.

Current State and Roadmap

Current State

Shopsys Framework is fully functional e-commerce platform with all basic functionality all e-commerce sites needs:

  • product catalogue
  • registered customers
  • basic orders management
  • back-end administration
  • front-end full-text search and product filtering
  • 3-step ordering process
  • basic CMS
  • support for several currencies, languages, and domains
  • full friendly URL for main entities
  • Performance optimization through Elasticsearch, Redis, PostgreSQL
  • Full core upgradability
  • GDPR compliance
  • Preparation for scalability
  • Manifest for orchestration via Kubernetes

Further Plan for Stable Release (February 2019)

  • More performance optimizations
  • Modulestore with first modules
  • Asynchronous Processing (RabbitMQ)
  • Best practice manuals
  • Basic API

Sites Built on Shopsys Framework

List of typical projects built on previous versions of Shopsys Framework:

How to Start a New Project

The shopsys/shopsys package is a monolithic repository, a single development environment, for management of all parts of Shopsys Framework. See more information about the monorepo approach in the Monorepo article.

For the purposes of building a new project use our shopsys/project-base, which is fully ready as the base for building your Shopsys Framework project.

We recommend to choose installation via Docker because it is the easiest and fastest way to start using Shopsys Framework. Docker contains complete development environment necessary for running your application. In the future we want to add new technologies to Shopsys Framework (e.g. ElasticSearch). Updating your development environment to use these technologies will be very easy with Docker because such an update will be done just by running docker-compose build. And that is all!

For more detailed instructions, follow one of the installation guides:

Documentation

For documentation of Shopsys Framework itself, see Shopsys Framework Knowledge Base.

Contributing

If you have some ideas or you want to help to improve Shopsys Framework, let us know! We are looking forward to your insights, feedback, and improvements. Thank you for helping us making Shopsys Framework better.

You can find all the necessary information in our Contribution Guide.

Support

What to do when you are in troubles or need some help? The best way is to contact us on our Slack.

If you are experiencing problems during installation or running Shopsys Framework on Docker, please see our Docker troubleshooting.

Or ultimately, just report an issue.

License

We distribute our main parts of Shopsys Framework shopsys/project-base and shopsys/framework under two different licenses:

  • Community License in MIT style for growing small to mid-size e-commerce sites with total online sales less than 12.000.000 EUR / year (3.000.000 EUR / quarter)
  • Commercial License

Learn the principles on which we distribute our product on our website at Licenses and Pricing section.

The rest of modules of Shopsys Framework including HTTP smoke testing are distributed under standard MIT license.

Shopsys Framework also uses some third-party components and images which are licensed under their own respective licenses. The list of these licenses is summarized in License overview of included 3rd party libraries.