|
|
|
|
|
by gr4vityWall
517 days ago
|
|
Congrats on your project. I feel like you could describe the abstractions you built in more detail. When I read the explanation for what the 'UseCase', 'App', 'Product' and 'Target' were, it wasn't clear how each of those translates to TypeScript. My guess is that 'UseCase' and 'App' would be like Classes, if you're modeling your program in an OOP way? The 'Product' seems like it would be the TypeScript project itself, with the package.json, source code and all of that. I would rethink how you named the 'App' layer. The examples given ('auth', 'accounting', etc.) are not necessarily what I would call an 'app'. As you introduce names and concepts for things in your library, I recommend trying to keep the cognitive load as low as possible. It seems like there are a very high amount of high-level concepts and implementation details like types, functions, etc. that 1. are specific/unique to libmodulor and 2. you need to learn before you can start actually building your application, from looking at the examples. The barrier to give it a try in a side project seems really high. Building things is cool regardless :) I'm happy that you built something it's useful to you and that you got to share here. |
|
That's a fair point. I will add more details on how each of these notions translates to TypeScript. Quickly :
> I would rethink how you named the 'App' layerI'm not a huge fan of this name either, but couldn't come up with something better at this time. `Module` seemed to broad to me. Although the notion is not totally clear to you, do you have any ideas in mind ?
I agree that it's not as straightforward as other solutions at this moment. I'll keep working and improving this to reduce the time needed to get started.