DEV Community

kurisutofu
kurisutofu

Posted on • Edited on

What's the best approach?

Hi,

For a personal project that I hope could turn into a service I'll sell subscriptions for, I want to make sure what the best design should be.

In my previous jobs, I've only built monolith applications but now, I'm wondering if a modular approach would be better, especially thinking of maintainability, scalability, and security.

My question is general and so the service I want to build is irrelevant, I want to understand what the best approach is.

I thought if I went with a modular approach, it may be easier to update without too much impact on usability (updating the admin features, for example, would not impact the users' front end, etc).
Additionally, I thought it might be better to separate admin and user endpoints, as well as separate user data from everything else, especially from where users have access.

The idea was that if a user manages to hack into the system via the user endpoint and access the DB, it would not have access to users' private data.

But now, I'm wondering if I'm making it too complex for too little benefit.

Here is a graph to illustrate my idea:
A graph of the solution I have described

Do you think I would be better off with a simple solution like below?

A graph of a monolith implementation

Or do you think something entirely different may be warranted?

Since the question is general, I don't think the tech I want to use is really relevant but I'll mention it, just in case.
I'm planning on using .Net Core (maybe .net MAUI later, for mobile apps).

Thank you in advance!

Top comments (0)