Let’s remind – OpenMarketplace by BitBag is the eCommerce marketplace solution for online shops with multiple independent vendors and virtual shopping malls with various independent departments. OpenMarketplace by BitBag was created because most of the currently available solutions are cloud-based and rather expensive. OpenMarketplace solution is an alternative for everyone who values digitalization and invents trends rather than following others.
More than half a year after the release of the first version of OpenMarketplace, we can say that the community widely appreciated the solution, and there are already very advanced projects on the market that use OpenMarketplace to build marketplaces.
OpenMarketplace 2.0 by BitBag – functionality overview
However, seeing the growing interest among the community and observing the market, we decided to release an improved version – OpenMarketplace 2.0 by BitBag. This version has a new architecture and a number of improvements. Below is the complete list of new components.
OpenMarketplace has received a new architecture – a modular monolith. In doing so, we have come very close to the architecture of Sylius itself. Based on the features implemented by OpenMarketplace, we were able to divide the whole into several components:
A component that aggregates code of conversation functions between the administrator and the seller.
A component for marketplace-related changes in the order placement process. It focuses mostly on checking out a cart, including products from multiple sellers. Placing an order from a basket containing products from N sellers will result in N orders created in the system, each visible for each seller. The additional function of the Order component is calculating the commission value for each order.
Contains functionalities related to product listing and product draft management. It’s mostly focused on versioning changes applied by vendors (drafts) and converting product listings to Sylius products.
A technical component that cooperates with the Product Listing component in the context of conversion from product listing to Sylius product.
A component containing functions related to the seller. It covers the logic of profile update functionality and seller configuration of supported delivery methods.
Additionally, there’s a Core component that, like in Sylius, serves to integrate functionality logic with the frameworks: Sylius and Symfony. All routes, grids, controllers, and form types are placed there. The Core component is divided into sub-components as follows:
Configurations related to the administration panel. It contains configuration for functions like managing sellers, verifying product listings, and communication modules.
Configuration related to the purchasing process from multiple sellers. There is also placed code on the seller’s page, on which you can find all available products from the specific seller.
Configuration related to everything we find in the seller’s panel: product listings editing, inventory and orders management. There’s also a code for updating the seller’s profile and communication module.
Configuration and all the logic related to API handling. We currently support shop- and seller-related resources API. Continuing the Sylius approach, we also use API Platform for the API layer.
Configuration is common to contexts between all sub-components above. The best example of this is the communication module, as it takes part both in the Vendor and Admin sub-component.
Also noteworthy is the Override component, which contains overridden Sylius code. It will greatly facilitate the Sylius update process in the future. If you plan to override any Sylius service, it’s the best place to do it.
Testing, checking and fixing…
Additionally, I will mention that the refactoring was possible thanks to a rich set of tests that are our standard. For all applications we develop, we write:
- Unit tests, which are written using PHPSpec.
- Integration and functional API tests written in PHPUnit using the library.
- Functional and End-To-End GUI tests, which are written with Behat.
Why Jump onto the OpenMarketplace 2.0 Bandwagon?
In this ever-changing arena, there’s a growing demand for a sturdy, scalable, and wallet-friendly eCommerce marketplace solution. OpenMarketplace 2.0 ticks all the boxes, crafted with love and precision. Plus, who can resist the charm and freedom of open-source?
Whether you’re a developer, freelancer, or CTO, we invite you to explore our project on GitHub and assess its suitability for your specific case. If you like our work, we would appreciate leaving us a star rating! The more popularity we build around the platform, the better it will be in the future.
We also invite you to join our newly created community hub dedicated to BitBag Open Marketplace Slack. Your participation is valuable!
Become a part of the community on Slack!
Do you like OpenMarketplace 2.0 by BitBag? We can adapt the solution to your business ideas and needs, map it with existing tech possibilities, and deliver the solution with a qualified project development team. Check the demo or Contact us.
Let’s talk about your marketplace!