Creating an app with 5 or 6 forms, and over 150 attributes

I am about to embark on an app that collect lots of information about a project through the use of 5 or 6 forms, as many entities and 150 attributes, or data types. I’ve done the planning already and know what databases to create.

Are there any tips I should keep in mind or are there ways to accelerate the form building - it took me an hour to just do one form, as I didn’t realise that when the workflow is created, I need to enter each field in manually!

Secondly, I assume that it is possible to have users, when entering their data to keep their typed responses in the actual fields, so when they return, they can see what they entered? And when ever they press submit, the system will submit the latest data to the database as new entry, but still display the most recent in their form.

  1. You may want to update the form fields, their placement within the form, or even add new forms. Plan to build a dynamic form builder.

  2. Yes you can have different users seeing or editing form entries on each field. Some users should have editing rights, others only reading capability.

I built an app for quaility control and realized that the above is important. It is currently unpublished and I used a template to help me with styling options and other functionality that I ended up not using. It is currently unpublished. Here a few screenshots of the mobile version:

Looks like a nice app. What do you mean by dynamic form?

I am building a web app so I suppose the responsiveness won’t be that central to the design.

User access will be important because we want to have different users to have access to the same forms.

Dynamic form > fields can be added/edited/deleted. If the form has 150 fields and you need 180 … then add the other 30. If field number 90 needs an edition like “date - start” instead of “date” … then just edit it. If field number 51 needs to be deleted … then delete it. If field number 38 needs to change from a date field into a multiple choice field then … just change it. :smiley: