How to make my app more like a marketplace?

I built my A Little Help app. Someone in the US wants to use it for elderly LGBT communities in the US. Which is nice of course. But she would want to make it a little more a marketplace. So when entering you say if you need help or want to help. And based on that you get different options or choices. Different groups of users. Any suggestions? Or maybe examples I can learn from? Can it be done in one app or would you make two apps for the different groups?

I’m trying to do something similar and running into the same predicament. I’m trying to create a dog walking service where users can either request a walker or be a walker. It’s coming together a bit, but it requires a lot of trickery to create advanced user-to-user interactions.

I’ll let you know when I make progress and let you view the app.

1 Like

Consider something loosely based on this. User sets preference, and then control commoners based on that preference.

1 Like

Please do!

Hey Gliders. I think you have identified role-based functionaltiy. I’ve been asking for role-based functionality for awhile, but its not quite there yet.

My use case was to have 2 sides of a restaurant app, where diners have one set of functionality and the restaurant owners / managers have different functionality (allowing updates). Ultimately, I have 1 app for the diners and 1 app for EACH restaurant, with a ton of “importrange” functions that read data to the main diner app from the restaurant spreadsheets.

If anyone has ideas of how to have a single restaurant owner app, please let me know.

1 Like

Yeah…until Glide provides conditional visibility for Tabs, you’d need to have A LOT of components with conditional visibility. I’m working on something similar for both restaurants and dog walkers…two sides to the app. Tricky…I’ll let you when I make progress!

1 Like

Hey Matt, I have created a few internal business apps having dual functionality in one. While it’s not very difficult it’s surely way more time consuming because every component is driven by the limited visibility. But if you are using the same data for both sides, it would be much more user-friendly to make one app instead of two which eliminates all the lag as well.
I could help you out with this but will have to understand your exact use case.

I would think all of your restaurants apps could be joined into one, unless you have highly customized sheets and app layouts for each restaurant. I would also think every app could share the same sheet to avoid having to use importrange. If the diner side needs to be public, then you would probably need a separate app for now, but it sounds like it could be simplified.

1 Like

The challenge I have for having a single app for any restaurant owner/manager to be able to use is that content is specific to the restaurant, so multiple people should be able to update the content for a restaurant. The content isn’t directly related to a single person, but to a group of people of which any one of them could be able to update it. I know that Glide has row owners and visibility rules which would allow a single person to be able to update the content that they created, but I’m not aware of a way for anyone from a group of users to be able to update each other’s content.

Am I missing something? Has anyone encountered and overcome this?

Assuming all of your data would have a column to indicate which restaurant it is related to, you could create another sheet that has the restaurant name or ID in one column and the email of any person associated with that restaurant.

In all of your data sheets, create a relation column to link restaurant name/ID to the restaurant/ID in your new sheet. Next create a lookup column that grabs all of the emails from that relation. That will give you an array of all emails associated with that restaurant. Now you can set all of your filters and visibility to use the array of emails in the lookup coming to compare to signed in user.

Only staff from each restaurant will be able to see restaurant data that they belong to in the new sheet.

Again, if your diner app is public, then it might have to be a separate app, but you can point it to the same sheet. One sheet, 2 apps, no imports.

You could create an array column as @Jeff_Hager mentioned using lookup or you could also create many columns named owner 1, owner 2, owner 3… and add the email IDs of the users you want to give the rights to. Glide will automatically create an Array column using these columns and put all the emails in the same column which you could later use for visibility purposes.
Array

2 Likes

@Jeff_Hager - Thanks for the tips. I’m super close to making it work. Can I set up a quick call with you to show you where I’m at? Are you on calendly?

Hi guys. I was able to get it to work for multiple users for a restaurant. Thanks for the guidance!

Ideally, I’d allow different employees to be able to maintain different data for the restaurant. For instance, the owner would be able to add restaurant employees, whereas a “regular” employee would not. But both the owner and regular employee would be able to update the restaurant’s info.

Have you been able to meet a requirement like this? Seems that one challenge is that the visibility condition is more restrictive than the filter condition, and doesn’t allow you to check if a field contains a specific value or not.

Any thoughts?

1 Like

Yeah this could be done by having separate columns for owner email and employee email. Then, on the screen you could give a button to add employees instead of the usual + sign on top. This button would have visibility condition where the owner email is the signed in user. Also its important that your screen is a details layout and not a list in order to be able to add buttons. You can always add a list inside a details layout. When this is achieved only the owners will have access to the add employee button while others won’t. I hope this solves your problem.

To build on what @Manan_Mehta said, and my suggestion earlier. Creating two relations and lookups can give you two levels of authority. The first one like I stated above linking the restaurant name to the restaurant name in the restaurant/employee sheet. Next create a template column in both sheets that lookd like this ‘Restaurant 1 - Admin’, but only make sure that restaurant admins have their template filled properly in the restaurant/employee sheet. The second relation/lookup will only return admin emails for admins for the restaurant. Use either lookup for your visibility and filters depending on the level of authority you need.

1 Like