Streamlining process for creation of job and volunteer applications

I have an app that is basically an internal job board for folks to sign up for volunteer opportunities within our agency. An “Organizer” creates an “Opportunity” with the appropriate information, but for the purpose of this question, they must select the appropriate date(s) and available role(s). Each Opportunity can have multiple dates, and each date can have multiple roles, with each role having an availability of one or more.

An “Applicant” submits an application for the date(s) they are available and the role(s) they are interested in for each date OR the role(s) they are interested in and the date(s) they are available for each role.

  • The applicant should only have to submit one application per opportunity
  • The organizer should be able to select each date and the role(s) available in the same screen
  • The system needs to show how many of each role is available by opportunity and by date
  • Once an application is approved for a date and role, the availability decreases by one for that date and role

Right now, I am managing the dates and roles via child records with Opportunities being the parent, Dates being the child of Opportunities, and Roles being the child of Dates. This is clunky to say the least with an Organizer having to go to the inline form view of Dates, enter a Date, then going to the inline form view for Roles and selecting the Role and number available, saving, going back into the Date form view, selecting the Roles form, rinse and repeat, saving the date, then going through the whole thing again for any addition dates.

Additionally, the Applicant in the application can only apply for a single day and role at this time, so they have to submit multiple applications for the same opportunity, which is a pain for them and the Organizer.

Here’s what it currently looks like for the organizer:

And the applicant:

My tables are:

Opportunities

Opportunity Days (these are the date children records)

Position Details (these are the role children records to the opportunity days)

Any recommendations on how to streamline this? I’ve looked at some other templates and they aren’t really what I’m looking for, so seeing if anyone has set up something similar.

1 Like

There could be several approaches based on exact requirement and how the app can be used by various users.

One approach could be to have just one opportunity table. Points to note are listed below

  1. In this approach the initial data entry burden shifts to the super user or admin or one user who can create the basic structure of the opportunity. However assuming each opportunity will have say max 20-25 records, its should not be much of a problem, since we are also giving actions and enums with quick table edit option to the super user to make the data entry easier.

  2. For the dates, roles and number of persons for each role, the enum options can be set with suitable valid_ifs. So the super user or admin making the initial data entry can select the options with suitable enums making it easier for her/him. In the example below , the admin can set date within 15 days from the date of data entry.

  3. The approach makes use of quick edit in table view which is technically still in beta mode after several years. However practically it works in most cases. Please of course evaluate for yourself.

  4. There is an action, add a row to a table using the values from this row, which quickly creates several rows for an opportunity,

  5. The admin can then fill in the dates, roles and persons for this opportunity using quick edit in table mode.

  6. The other app users can then volunteer by adding there name in the name field. Suitable constraints in editable_if can ensure that users can fill in only the name field and other fields can be edited only by the admin.

Some screenshots in sequence of operation are given below

The addition of a new opportunity record in a form ( By Admin or super user)

Add Opportunity

Creating multiple records of the opportunity ( By Admin or super user)

By use of action type, “add a new row to another table using values from this row.”

You can add the rows on the same table using this action.

Add Multiple Records

Add dates for the opportunity ( By admin or super user)

Use quick table edit option and suitable valid_ifs on the dates column.

Dates Entry

Add roles for the opportunity ( By admin or super user)

Use quick table edit option and suitable valid_ifs on the roles column.

Roles Entry

Add person # for each of the roles ( By admin or super user)

Use quick table edit option and suitable valid_ifs on the person number column.

The example assumes there will be one person for each role for each day.

Persons Entry

Now all the other users can add their names to various roles and dates in the opportunity. The record can suitably become non editable after the the users add name against each role and date.

The above approach can be further automated with bots that add several records to a table at once , inline actions that could replicate say same date in multiple records and such other features. Have kept the concept simple for explaining purpose. Please feel free to further optimize it, if found relevant.

2 Likes

Thank you so much for your thorough, thoughtful response. Unfortunately, this isn’t a solution for us since we have 1,000 employees, any and all of whom may be posting opportunities. We will have an admin for the app who can make sure that any bugs are addressed, but this will be at most 5% of their work duties. I need a solution that allows for individuals to post opportunities, not pass it off to another person.