Skip to content

Improve flexibility and modularity: Hardcoded dependencies and missing ecommerce essentials #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
inishantthakur opened this issue Apr 15, 2025 · 1 comment

Comments

@inishantthakur
Copy link

Hi team 👋

First of all, thank you for building Tomato Ecommerce and the Tomato ecosystem. I'm exploring it for a Laravel + Filament PHP ecommerce project and wanted to share some important feedback and concerns that could improve the plugin's flexibility and adoption.

Issues Observed

  1. Hardcoded Language Options
    Many components across Tomato plugins (e.g., Tomato CMS and Tomato Ecommerce) have languages hardcoded to en and ar. This becomes restrictive for projects targeting other languages or dynamic translation setups.
    ➡️ Ideally, language options should be derived from the app configuration or made customizable.

  2. Tightly Coupled Category Resource
    To use product categories, Tomato Ecommerce relies on Tomato CMS's Category Resource in the Filament Panel. This tight coupling can be problematic:

Projects using only Ecommerce shouldn't be required to install/configure Tomato CMS.

There should be an independent or abstracted way to handle ecommerce-specific categories (e.g., product departments).

  1. Brands Implementation Incomplete
    The ProductResource references brands, but there's no dedicated Brand model or resource. I can find traces of brand data being stored in product_meta, which feels like a workaround.
    ➡️ Given that brands, categories/departments, and attributes are core to almost every ecommerce system, it would be great to treat them as first-class citizens.

Suggestions for Improvement
Decouple shared entities like Categories, Brands, and Tags into a more flexible structure or shared plugin.

Support dynamic language configuration throughout all Tomato plugins.

Provide a clear structure and roadmap for handling ecommerce essentials like:

Product departments/categories

Brands

Attributes / Variants

Filters

Translations

Question: Future Roadmap?
Is there an official roadmap or direction you’re following for the Tomato Ecommerce plugin? I would love to contribute or align with it if it's being actively maintained and expanded. The plugin has great potential with Filament PHP, and a bit more abstraction/flexibility could make it truly production-ready for broader use cases.

Thanks again for your hard work and for open-sourcing these tools 🙏

Copy link

linear bot commented Apr 15, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant