#Docker + SaaS with different style / theme

3 messages · Page 1 of 1 (latest)

hushed coral
#

Hello everyone,

Maybe someone can give me a tip or has a hint on how I can solve my problem with the architecture/technology.

I have x different apps or would like to breathe new life into existing legency apps with Angular 17. The backend runs .NET.

Now I work with several developers on the frontend apps and currently we practically create snippets / webcomponents for each project individually and have to maintain them accordingly. As a result, we have an extremely high support effort which I would like to get rid of.

I would like to simplify the whole thing. The idea would be to automatically distribute the same business logic to all apps (.ts). Now, of course, every single project is individually styled and I would have to take that into account somehow.

The frontend apps will run in Docker in the future. I thought about creating a kind of template folder in fit for the .html files which is updated on the server and then loaded into the respective project when the container is restarted.

As I understand it, NX offers the possibility to create multiple apps and libarys. But I am not sure if I can deploy a single app from nx and if it is possible and useful to work with multiple developers at the same time in the repo.

Does anyone have any experience in this direction or is he facing a similar problem?

cosmic blade
#

I have limited experience with nx, but to my understanding, if you make use of the distributed cache, multiple developers make your build process even faster. You can also enforce structural rules, like "x-modules can access y-modules, but not the other way around".

Every app in nx becomes it's own deployable entrypoint. They have access to the same set of libraries in your monorepo.

For your use case you might want to create some core libraries that all apps use, then maybe some specialized feature libraries for each individual app. Each app can have their own theme too.

If your problem is to unify business logic across multiple apps, then a monorepo sounds like one solution. You might also want to consider building angular libraries with your core features. You can version them and don't have to keep all apps on the latest version all the time. In a monorepo, all apps always use the latest library version by design.

hushed coral
#

Hey thanks for the fast reply. My biggeat concern is how do i deliver the different html files for each app if its an component that is coming from an lib. Lets say ive got an component for a Navigationbar. When i use tailwind , to use other styles and stuff i need to adjust the html file