Which database for app with upload of images

Hi,

I’m developping an app where users can upload quite a lot of pictures taken with their phone (up to, let’s say, 500, or even more).

For now I’m using adalo’s collection but I was thinking to switch to Xano before publishing, until i saw that space is quite limited in xano’s plans.

Before asking my questions, I’m not a specialist of databases, understand it, but more used to use excel, airtable…, then i cannot use something too complicated).

Q1 : Is there compression of pictures uploaded ? (in adalo, xano, or other solution).

Q2 : Is it possible to have the pictures saved on the phone ? (from what i read, no ;(

Q3 : Can I use Xano as main database and another solution for pictures ?

Q4 : Any advices of using xano, adalo, or other ?

PS : I plan to start small but i would like a scalable solution with a reasonable price as i don’t want the user to pay for more space (i’m not doing a photos saving app).

Hi @pbh4,

Check this doc out! : Image Optimization | Adalo Resources You could implement image compression by configuring another API you’re aware of, too.

Do you meant storing the data on user’s device, like local storage? That’s not something possible, unfortunately. (correct me if I’m wrong) Vote here : Local Device Storage | Voters | Adalo

You can use Xano as the main database with the easy Xano integration but what’s the solution you have in mind for pictures?

You can start from Adalo dB and then migrate to like Xano dB or any other dB (see this video made by Nathan. : https://youtu.be/-k46gRS1uBw) if needed but with Adalo’s most recent updates, using Adalo dB is quite good. See this post created by Shantanu. : How much traffic can Adalo handle - #2 by ishantanusrivastava I’m working with a maker where the app have quite few collections with much data (3 main collections: 13.9k records, 10.8k records, 21.9k records) and yes, there’s quite performance wise issues but overall the app is working still :). @nadavma2, might have some experiences to share here too :raising_hands:

Thank you and have a great day!

@pbh4 just to clarify: the uploaded picture from Image Picker is always uploaded in its original state. There is now way to compress it in regular Adalo.

Best,
Victor.

Hi,

Thanks a lot to you Dilon and Victor for your answers.

My problem is that the images I want to show are mostly uploaded by the users. Then, from what I understand, i cannot optimise them using adalo databe (because I call them directly from the database, not using url)

Am I wrong ? Or is there a way to call them from their url to use Imgix ? (in a list of images uploaded from user).

If not it sounds I need to store the uploaded images in another Database, one database which can optimise them.

If it’s the only solution do you have any advice on the solution to use ? (xano, airtable, supabase….?)

Thanks again for your useful answers.

I’m writing the solution based on your advices as I found how to use the url and Imgmix.

Let’s say I’ve got a list of trips with title and picture for each trip.

The trip collection has :

  • Text input : title
  • Img : Photo taken bu user
  • Text input : url of the photo

In the form, The button validate has a first update with title and img from image picker, and a second update with the url updated with the url of the image picker.

When the user is checking the custom list of his trips, I’m calling the pictures from the field url with imgmix option

Thanks again for your help.

Hi @pbh4,

There are 3 things which needs to be discussed separately.

  1. Image upload. The only way in plain Adalo is to use Image Picker (standalone or in the form). The images are uploaded to the backend in their original size and resolution (so it might take time). The images cannot be easily uploaded to another place, unless you use some workarounds with 3rd party integration platforms. The idea is to upload image to image picker, optionally store it in the temporary image property (usually logged-in user), call custom action e.g. on Make, which, in turn, takes this image and uploads it elsewhere.

  2. Displaying images. Here you can easily use ImgIX API query parameters to reduce image size, etc. A very long time ago I made a video about it https://youtu.be/4O6-nNmPOB0, API may have changed but it gives you a general idea. You can easily use image URLs instead of images, even for pictures stored in Adalo.

  3. There are image hosting platforms out there. I was using Cloudinary for some projects.

Best,
Victor.

1 Like

In addition to Victor’s great breakdown, just wanted to add here that (not sure whether you’re aware of or not), there’s a file upload limit which is up to, ≈ 50Mb. For larger files, you need to host them outside of Adalo and show them inside the app using the links of the files.

Thank you and have a great day!