Unchained Engine is a omni-channel multi-language multi-country ecommerce platform that allows you to create amazing professional online shops that are perfectly embedded in your websites, apps or other embedded devices. Unchained can be connect through various ways with your company's core systems like SAP easily. Unchained.shop is the core maintainer and owner of Unchained Engine and provider of various professional services and documentation around their open-source offerings.
You will need unchained.shop in 2 cases: First, whenever you want to integrate order/payment functionality into native platforms (like native iOS apps, teller machines, coffee machines, etc.), ERP systems like SAP or blockchain based services. Second, if you want to create a completely custom storefront that delivers the best possible user experience for your product. If a SaaS shop like Kickshops or Shopify is all you need, you will not need our platform.
The main difference is headless/non-headless. While Magento can be used as a headless system using a custom storefront, it leads to a lot of headaches. This is because the API is built on-top of Magento 2 and most of the Magento Plugins can't be used in a custom environment because of missing API's. Unchained on the other hand is built-for-headless; the platform is built around the GraphQL API. That means that every feature and plugin always will have to provide an API, as it's the only way to communicate with the user interfaces.
Technologically unchained is built with Node.js + MongoDB instead of PHP + MySQL which makes our platform more scalable in general. From a feature quantity perspective, unchained lags behind but can be adopted to needed features extremely fast.
The admin interfaces differ from customer to customer, sometimes there is no UI needed at all as the product catalog and order management is driven by an ERP system like SAP. If you want to see unchained in action, have a look at the Website of Freezyboy which is built entirely on the unchained platform. You can use everything or only parts of our own minimal Admin UI, the "Unchained Control Panel"
The Unchained Platform is OSS and is available for everybody. It is possible to build a complete Online Shop with Unchained free of charge:
- Host the Unchained Engine and the database
- Hack the Unchained Engine with existing or tailored plugins
- Develop and host your own storefront or integrate the e-commerce capabilities of unchained into your existing user interfaces.
- Configure and manage Products & Orders through the default Control Panel or your own solution
On Github you'll find the Unchained Engine, the unchained.shop website and various plugins on Github. For businesses and agencies who want to run the Unchained Engine in production, we provide paid services like developer support, managed hosting, e-commerce consulting and project support.
Yes, MongoDB (currently) does not support ACID transactions and we know it is a disadvantage for e-commerce as the software naturally is transaction-heavy (payment & delivery process for example). For unchained,
- It is natural to "extend" existing data types in GraphQL with deep structures. This should be possible at DB level as well, a Graph based API should also have a Graph based DB.
- The simplicity of using Meteor (which uses MongoDB) as our backend framework helps us to provide an extremely fast onboarding for developers who want to setup unchained and develop their own plugins.
- Modern apps should scale horizontally and vertically from front to back. MongoDB is superior to many other DBMS in that category because of the awesome auto-sharding and replication flows it provides.
- Transactions are here...
Sometimes developers ask us why we use Meteor as NodeJs Platform, and some fear that Unchained Engine does not scale because of that. Basically, we didn't want to mess with Node.js, babel and webpack configuration but still be able to add babel plugins if we wanted.
When we were evaluating a backend framework, those were the requirements:
- Easy setup and onboarding of developers
- Strong developer community: Popularity, Enterprise-readiness
- Stable, well tested and maintained libraries
- ES6 + Possibility to introduce build-time plugins
- No configuration hell
Meteor usually provides much more than that, it helps you with client-side development, reactivity and provides an own proprietary data layer.
So we did some cherry picking: Instead of using all the Meteor technologies, we just use the build chain, the MongoDB driver and the Authentication system and get rid of DDP and oplog issues.