I am building few sites for my company's client. The sites are mostly the same but could have some customisations.
so we decided to create duplicate sites instead of multi-tennant and we decided to use packaging system so we can install them as required by a site.
Now my question is if I have a package 1 (events) who also need to display items from package 2 (articles) how should i go about it?
My first thought was that I can create some sort of a route for news/all.json but then package 1 will KNOW it exists and there will be a dependency? (I also need to do the same on News ie get events)
Another issue is both events and news have categories which could be same, so with packages I would need a separate table news_categories and event_categories?
for me a package will consist of DB Migrations, Tests, Routes (User and Admin) (laravel package)
Finally the reason i didnt go multitennant is because my manager was like there are customisation then it will make DB/Code a bit ugly but I am not so sure now :(
Edited: when I talk about packages up there i really mean modules but in php (composer which is similar to npm) they are called packages.