I was reading the book _…

less than 1 minute read

I was reading the book Enterprise Angular Monorepo Patterns and noticed that for creating features, it is recommended to create multiple libraries for one feature

Example: ```booking/feature-shell -> Separate library for routing config booking/feature-flight-search -> Separate library booking/feature-passenger-info -> Separate library

It almost seems like this booking feature is comprised of features nested inside. Should each one of these "nested features" be only one page that gets lazy loaded from the feature shell? Can one of these "nested features" have more than one page?

What advantage does this have compared to the feature in only one library:
```booking/
  pages/
    flight-search
    passenger-info
  feature-booking.module
  feature-booking-routing.module

I’ve been struggling to wrap my head around the best way to organize features and pages. Can anyone share any learning resources for libs organization and/or good example repository?

Responses:

https://www.softwarearchitekt.at/aktuelles/tactical-domain-driven-design-with-monorepos/

have a look at this appraoch, I’m currently following this

the shell is something you need when your feature has multiple use-cases

in that case your shell serves as the entry-point of your feature

Updated: