Hey folks, I’m building a dance school app, that will mainly help the school with scheduling. This means that, in the user facing app, for a given dance class, students are able to submit an absence request if they know they will miss that class, as well as the ability to request to join another class that is more suitable to their schedule. In addition users will be able to watch videos of previous lessons.
That being said, do I need to create an admin-only app that will let the admin user manage the class schedule, review/accept student requests, as well as upload class videos?
I’m an Adalo newbie, so any help or feedback would be much appreciated!
Honestly it would probably depend on how many admin screens and features you will need to manage your app.
You can easily integrate those features into your existing app by identifying your user account has having Admin Privileges (can be as easy as an “Is Admin” property in your users collection with a True/False setting). You can then set the visibility of Admin Menu items based on whether or not that property is set to True. The only downside is that if you miss setting this on a menu item, a user could potentially gain access to one of your admin areas (may or may not be a big deal, depending on the area.)
If you’re not comfortable setting up permissions, showing/hiding links within the app (and taking the extra steps to test with different user roles), then a separate app would definitely be the way to go to keep everything safe and secure.
As @tomroyal4 said If adding more screens in one app and complicated for you then you can share the same Database and create another app for the Admin or you can use a true/ false property and add screens to the same app and create. Here’s a example for the true/false property option. You can get a idea from this.
Hi @tomroyal4 - there are essentially 3 key admin screens that will need to be managed - the student requests screen, the class schedule, and the upload videos screen. So I’m comfortable setting up permissions and have added a “IsAdmin” true / false property in my user collection. And I’m thinking of creating two versions of the app, where they student version has 4 menu items (list of upcoming dance classes, calendar view of upcoming classes, dance class videos, and student profile), and the admin version also has 4 menu items (student requests, create dance class, upload videos, admin profile). Does this make sense?
Wow! You are an Adalo wizard! Really impressive that you built this so quickly! I cloned your app and using it as a reference. Thank you, I do appreciate it!
In the mean time, I noticed that there are a couple of differences in terms of the app’s functionality that I didn’t mention previously. For example, the admin needs to be able to view cancelations, confirm or update extra lesson requests. Also, because the dance school usually has the same classes every week, if the admin wants to edit a specific weekly class or add a new weekly one, is it possible to apply that change to all of those specific classes, as well as, make any new classes recurring? If it’s not possible, then I think the best alternative is for the admin to update and import the csv file with the class schedule. What do you think?
I’m still working on the app and have a few more screens to complete, but once its ready or if I hit a dead-end and dont know how to proceed, I would love to share the project with you and get your eyes and feedback on it, if that’s ok with you
Sure. Below I’ve broken down the 2 main admin-related functionality differences between the dance app you built and shared, and the one i’m currently working on.
Creating new dance classes - The admin typically has a fixed dance class schedule every week for a full academic year, which means 100s of classes. So manually adding a class, one by one, is unrealistic, and therefore need a way for the admin to upload a lot of classes at once. A potential solution that I’m considering, is to add all the classes in a csv file and uploading that to populate the classes data collection. Im not sure if this will work, or if there is a better solution.
Editing or removing existing dance classes - The admin may want to change the class name, time or date of a weekly class, and apply those changes to all of the relevant weekly classes. I dont know how to do this or if its even possible in Adalo.
Hope I explained them well. I look forward to hearing your thoughts
Ok so I did some changes to the app that I shared. If I’m correct you have to copy the app again to see what I have done.
You can check.
If you need to put lot of classes at once you can create so many screens and add the logic. ( I did and you can add 4 classes at once ) If it is hard for you you can create a excel file and upload it on the classes collection.
Hope you had a good weekend! Thank you for sharing the updated app. After reviewing the logic, I think it would best for the admin to maintain their class schedule by updating the csv file. Thank you for the link it was helpful for setting up the csv file correctly!
I wanted to ask you one last question, if you dont mind.
If I was to create another app for the Admin, you previously mentioned that the Student app and Admin app need to share the same database. So, which data collections would they have to share, and how do I do this?
Thanks for the link! According to the article, I need to create two True/False properties, “Is Admin” and “Is Student”, and add them to the user collection. But now that I have two separate apps with a shared database, I still don’t understand, do I need to display the True/False properties on the sign up screen for the student-facing app, the admin-facing app or both? And then, do I need to apply conditional visibility to all the admin features?
If you create one app for the teacher and another one for the Student ( By copying the app ) then you don’t need a true/false property or conditions. And when copying the app select share same database.Then when the Teacher schedule a class or uploads a video it shows on the student app too.
I have split the shared app to two apps. You can check.