Lets simplify the things for you.
- If you have
category
as menu (Same as magento), i will recommend you to create new module forcateogry
- Coming back to product, you can manage all things with the 1 product
controller
. - In category, category will have its own
model
to interact with database. - In your product model, you can manage all kind of transactions in one model because they are part of product only.
- If you want to move bit advance, you can have a
sql
folder in each module so that you can install the and create tables when you just drop folder to modules. For this you can create a small script where, in regular interval of time, it will check the new modules, and if that script found some new modules, it will install the.sql
file in thesql
folder, which will update the database schema.
Hope this will help you