Open Cart
The open cart system is a opensource CMS and e-commerce package. It includes a variety of extensions for various shipping and payment 3rd parties out of the box. With this package you can get quite a lot of functionality very quickly. It takes some work to extend but once you get the hang of it you can get it to do almost anything you want but not without some headaches.
Drawbacks
Unlike some more modern frameworks, opencart does not include an ORM language and it does not include a system to manage database migrations.
Another downside is the CMS forms are hard coded html/twig views. Extending them is a huge pain and will ultimately result in a fragmented look. The form elements that require non standard inputs are a hodge podge of javascript functions and jquery selectors shoved at the foot of the body element. This leaves for a huge undertaking to upgrade, update and maintain forms and their inputs.
This form issue could be corrected by creating reusable forms and form elements as individual twig views and passing the required form data into them. This is the approach I have tried and found success with however it would require a complete overhaul of the opencart system.
Pros
If it includes the shipping/payment providers you need then super. (Duplicating an existing one and slapping in the correct api methods can be done just be sure to test them thoroughly)
Some notable customizations I have accomplished:
- Contact forms upload directly to CRM software for review.
- Checkout UX revamped for clearer steps and progress communication.
- Additional payment and shipping providers added.
- Packing algorithm and shipping restrictions implemented.
- Tens of additional front end modules added for custom design.
- Dynamic product filter search.
- Product customization workflow.
- PDF order print out.
- Complete front end design upgrade/overhaul.
- Multi region/language store overhaul
- Multi store administrative user group permissions
- Multi store seo best practice modifications
If you have opencart questions feel free to reach out to me.
☕ Buy me a coffee