MagedAhmad / insular

Insular is a software architecture to build scalable Laravel projects in a modern, clear and modular way.
https://majeeed.hashnode.dev/laravel-insular-package-to-structure-projects-in-a-modular-way
MIT License
11 stars 1 forks source link

Some general comments #1

Open Sophist-UK opened 1 year ago

Sophist-UK commented 1 year ago

@MagedAhmad

I am starting a new major open source project based on Laravel, and I want to use modules. I have tried all three of the other modules packages I have found and not been completely happy with any of them by in the end I have settled on a combination of Internachi Modular and Wikimedia's Composer Merge plugin to provide this functionality.

So I read about this package with some interest. I have not yet tried it out - and may never do so - but I do have some comments / questions:

Snowflakes

I have already started using UUIDs for my tables - and I have looked at ULIDs and rejected them as a bit new - but snowflakes would (as you suggest) be even better. May I recommend that you create an separate package that will only provide Laravel support for snowflakes (i.e. in migrations and in models/factories etc.) using Traits and macros?

(I am also unclear where snowflakes come into modularisation.)

General description

What sets this package apart from others that provide similar functionality?

I am looking for a package which does the following:

If the scope of what you are trying to achieve matches the above, I would be happy to assist with coding, testing, fixing etc.

Sophist-UK commented 1 year ago

Hmm. It appears that perhaps the lights are on but there is no one home. Pity.

MagedAhmad commented 1 year ago

Hey @Sophist-UK

Really glad that you took interest in the package, and i really love every comment you have, sorry been busy and couldn't check your comments.

about snowflake: right now the package already supports it, with every new model you create it will automatically use a snowflake trait which will provide support for it . creating model command:

php artisan create:model $name $module_name

but it's a good idea to have a separate package to support snowflake in models, factories, etc as you suggested

MagedAhmad commented 1 year ago

Right now it's not supporting sub modules, would be great to tackle this next ?