I’m about two weeks into building the skeleton of this mobile app, a diet and exercise log. I’ve been working as if all the databases are bespoke to a single user. Before I go tearing everything up to reflect a shared database I must ask if Adalo is the right tool set at all.
In this kind of application every active user will be making dozens of new entries every day. In addition the user should be able to add to things like the food database and the lists of exercises and activity types. The user should be able to tag foods and exercises as ‘favorites’ for quick access and build ‘dishes’ or ‘routines’ for re-use.
If all these elements go into big shared buckets, I see lots of filtering and checking and extra screens in my future. If the app gains any popularity the meals and workout logs will get to millions of rows (and I’m storing a pretty exhaustive set of statistics in each entry) in little time. Performance, data security, and privacy issues come to mind, after assuming I can make everything function in the first place.
On top of that fundamental issue there are a lot of things I need that just aren’t here as built-ins.
Input filtering (e.g. ‘positive integer’)
Input of elapsed time, including seconds
Input in different units with conversion
Simple formatting, like text tables or even italics .
Ultra-basic reports, like list of data from a single record
I could go on. I also can figure out how to do all of these, I think, but some of them are to me such obvious needs for my kind of app that it adds to the impression that I’m in the wrong place.
To start with, for the multi-user app you must structure your DB in a relational way, so that one user can have many entries, but an entry belongs to one user. Lists with filters are natural in Adalo, and 99% of filtering happens on the backend (which has an SQL database inside).
Properly designed Adalo app can handle significant number of records in collections (we’re talking about 10000s). As an alternative, you can use Xano as a backend, and there you’ll get a proper optimised scalable backed (the downside is that it’s better to start from Xano integration from the beginning, which needs Team plan; also Xano requires some learning).
If the app gains popularity - Adalo isn’t suitable for millions of records; but rarely apps grow 100x overnight, so most probably you’ll have some time to migrate.
Your other concerns about lack of functionalities is more important IMO. There you’ll have to find workarounds, buy components, develop your own, implement integrations (e.g. for reporting). This may become annoying at some point of time.
Also a lot depends on the budget, your technical and design skills, and your decision what you’d like to do by yourself / what you’re ready to outsource.
I’m creating apps for my clients on various platforms, and I’d say that other mobile development platforms have other issues. Even going full-code is not a panacea as frameworks also have bugs :).
I’ve spent some hours reading a number of reviews and pitches for a multitude of no/low-code app development tools. Core to the pitch for just about all of them is “Help your team do XYZ!”. What I am trying to do is explicitly and absolutely NOT a team project. The entire concept is about ONE user building up a set of personal data, and usually NOT wanting to share it [They can get on Strava for the ‘attaboys’!]. I can’t even find one that offers a local database option, which makes most of my structural headaches go away.
Local / offline mode is quite rare nowadays This is something which isn’t available in Adalo by design.
You can do it FlutterFlow using localstate variables (for smaller amount of data) or SQLite database. This works pretty well in my experience. But you may encounter other set of issues, starting with much steeper learning curve.