Hello friends,
I want to venture into creating a system-type app, and my question is basic (I’m sure some of you have already done this):
Option 1: I make a single application with permissions and manage everything from there with one database.
Option 2: I make several small applications connected to the same database. This approach requires additionally loading tables from other apps and regenerating tables in the involved apps.
Would you be able to recommend the best option based on your vast experience?
Greetings and thanks in advance.
1 Like
If the app will be doing the same thing and the only differences are the permissions of users, then I’ll go with a single app with permissions.
Why? Because if you ever make changes to your database or enhancements to your app, you will have to do it one by one for each of the separate apps. It’s an app maintenance nightmare.
1 Like
Thank you very much, my friend!! That’s what I thought.
2 Likes
You’re welcome. I learned it the hardway. Jist by adding a new column to my Google Sheet, and then having to regenerate tables for each separate apps is already too much work. What more for other more complace changes.
1 Like
That’s right, my friend! I really needed a frank answer
1 Like
A single application with permissions is often simpler to develop and manage since all functionalities are contained within a single codebase. This approach allows for easier control and management of user permissions and roles from one place, leading to a consistent UI/UX across the entire application. Maintenance is generally easier, as there is only one codebase to update and debug. However, this option can present scalability issues as the application grows, potentially becoming complex and harder to manage over time. Additionally, deploying updates or new features can be riskier since changes affect the entire application.
2 Likes
Yes, that’s true, however @JPAlpano 's approach doesn’t seem wrong to me in the sense that (as it is a system) the objective is to affect all the areas that should be affected in a single change.
What I have done to facilitate management is the following:
I have created a single application whose database is a set of Google Sheet files, each with its respective tables (not repeated) corresponding to each area. This allows me to manage the tables of each area in each database without having 90 tables in a single file and the limit of cells at skin level for having a single general file.
In addition, the large number of tables (it is true that it can make this more complex) however my obsession is synchronization and I am continuously working to improve the speed of loading, saving and synchronizing data, avoiding redundancies.
Even today I am seriously considering using SupaBase as the database for the project in this case.
Thank you very much for the answer @JoeSuarez