Need help with Workflow Template Implementation (for Garage Management, Event Management, Project Management etc.)

Hi guys

I’ve got beginner-to-intermediate experience with Adalo.

I need to build an app for my friend to maintain a single shop garage. Its basically a project management app where he can quickly create an incoming job and monitor ongoing progress.

Each car gets assigned a workflow (as per the job), which is broken up into tasks. Each task has its own costs, is assigned to an employee. Task status is monitored, and when one task is completed its subsequent employee gets notified to begin work.

I would have a ‘tasks’ collection, with a many-to-many relationship with a ‘workflow’ collection, with a one-to-one relation with ‘jobs’ collection. (ignore the users collection, its not relevant to the problem).

So far so standard.

The only minor difference is to speed up a new job creation, sometimes there are standard job templates (eg. a 10k checklist of items is standard) vs a custom job (only a side view mirror needs to be replaced).

My question is - what is the right way to implement a standard ‘workflow’ template being able to be accessed by app user? I’ve had a look at the template apps, and Coaching & Ordering apps are closest to my use case.

In the Ordering app each menu app is added sequentially, to a single ‘orders’ collection (which can be easily replicated in my app - instead of a menu item I would add a Task & maintain relational consistency). But I’m not 100% convinced its the best / right way.

Ideally my use case would be along the lines of Coaching App - there are a pre-decided set of activities, except that need to be assigned together. In the Coaching App template they’re again assigned one at a time.

What is the right UX (Screens, Lists, Lists of Lists, buttons, ‘Action’, ‘Custom Action’, Create/Update steps) & Database Schema (any modifications to above) I should implement?

I believe this project management is a generic use-case for a lot of applications - logistics fulfillment service providers, event management, coaching etc. and the right solution could help a lot of makers on Adalo.

Appreciate any help.

Hi @tjd_15 - are you effectively looking to create (in bulk) a list of tasks based on a template? At present, it is only possible to CRUD one thing at a time.

The (current) best practice, in my view, would be to create two collections for ‘tasks’ - the templated ones and the ones that need to be carried out:

  1. Create a collection of work ‘templates’
  2. One-to-many (or many-to-many) those with ‘template tasks’
  3. Have a screen listing those templates and, when clicked, linking to a new screen listing those template tasks
  4. When a new job comes in, create the job, then visit the job detail screen from that job. From there, navigate to the template screen, which will take you to the list of template tasks.
  5. Stick a button or icon on each of those template tasks so that you can scroll down one at a time and ‘add’ them to the job (effectively, creating a new job task, copying the relevant templated data).

This won’t help much for 10k lists, but for shorter ones might be a temporary workaround to get you moving? When ‘perform a function on a list’ is implemented (as it surely will be one day - it was @Ben that requested it), you’ll be able to simply create an ‘add all’ button at the top of the template task page to perform your copy in bulk.

When you create your job tasks, you could link them to the template tasks so that you can pull costs/timings/etc from the template through to the workers’ task lists if necessary.

Hi @dosandco

Thanks for the reply. That’s correct, I am effectively trying to add multiple tasks at a time (with their associated relational entities).

Your UX is slightly different from what I had in my mind, and it works better I think without making the User feel they’re making a lot of clicks for what should really be a single click interface.

Just a small correction on my side - when I said 10k, I meant the 10k mileage a car would’ve driven for service, so a service checklist would be standard set of items that would need to be performed for each 10k service job, vs a custom job (eg entire right side of car is banged up). My bad - I didn’t phrase it properly.

But yes I understood your point, that once database grows to a certain size, its possible things could get slower. Although I’ve got an app running in Adalo with 120 odd users and 32.5k entries in data table, its working okay with maybe <5 seconds of delay to load one user’s data so I haven’t had a slow experience yet.

Thanks again for the reply. It gave me confidence that the way I was thinking would work.

1 Like