Want to make an app to help organize and record data regarding my services to farmers

Before we begin, I am new to APP INVENTOR please forgive me if I have overcomplicated things. There is a FARMER PROFILES page and there is a SETUP FARMER PROFILE page. When i go to setup farmer profile i get the values put in the text boxes (name, age, etc) stored in tinyDB. I have done the global varaiable ID to change the name of the tags (example- name 0 to name 1) Since I want to create multiple entries from the same SETUP FARMER PROFILE PAGE. Then in the FARMER PROFILE page there are multiple buttons which become visible when the said tag gets a value(example- tag NAME 1 gets value makes Button 1 visible and sets Button 1 Value to the value stored in tag NAME 1). Now for each button I have created a new page where the rest of the details other than just name are shown. Now for each farmer Individual profile page I have a SERVICES button which leads to a new page called SERVICES where all the services offered to that particular farmer are shown. Then in this SERVICES page there is a NEW SERVICE BUTTON which leads to a new page called RECORD SERVICE. This RECORD SERVICE page similar to SETUP FARMER PROFILE stores values under tinyDB. I have made 36 pages of FARMER PROFILE, SERVICES each. Now there is only one page for SETUP FARMER PROFILE. When i click the back button of This SETUP FARMER PROFILE page I want it to go back to the SERVICES page from which it had just opened. And I want a solution to organize this project more efficiently. I donot know much about how to use lists which might explain the utter complication in this project. Please help.

Can you set up a Google Sheet with sample data?

You would need separate sheet for

  • Farmer names and profile
  • Service types and costs
  • Farmer Service contracts
  • Farmer service provisions history

That's a lot.

Show us.

Here is the aia file. Its all over the place. Will try the spreadsheet method you suggested.
APP_Screen_checkpoint2.aia (2.9 MB)

Your app had grown too large to load in AI2, so I used the diagnostic tool unchive on it.

You added new screens for new farmer profiles, with the same code for each of eight farmers, only adding a number after each TinyDB tag in the Blocks Editor.

When your blocks and screens count increases as the volume of your business, you are doing something wrong.

You must learn how to use lists and tables, and how to reuse components and screens .

Learned to use lists and implemented it using spreadsheet extension as well. Thanks for the feedback, it helped me fix it. Here is the aia file in case you would want to suggest further optimizations.
APP.aia (2.9 MB)

Do you really need to include the entire font family .zip file in your assets?

It stands out like a mountain .

I notice you only open screens, without closing screens.

That would eventually clog phone RAM.
Screens should be closed as often as they are opened.
If needed, add When Other Screen Closed events to reload important globals and Elements.

I can't figure out how you manage your sheet names.

Could you post a link to allow browsing your test sheet(s)?

Success Screens are easily replaced with Notifiers with OK buttons, to save on your screen count.

Again, close screens when done with them.

Thank you for the suggestions. I have made the suggested changes in the below aia file.
And I have also attached the sheets file link for reference.
APP ammended.aia (298.4 KB)

APP DATA GOOGLE SHEET

Please peruse
https://www.google.com/search?q=how+to+normalize+table+design

and remove 29 of those 30 identically shaped sheets.

You should be adding rows, not sheets, as you do more business.

You need a sheet with your menu of services and prices, without any reference to customers or their orders, like a laminated restaurant menu that gets reused by each customer when choosing their meal.

Start with that.

Here is a sample spreadsheet I made up to illustrate the way to use separate sheets for different purposes.

For the board, here are some snapshots and discussion.

The ServiceMenu sheet lists your services and their prices, to help your salesmen and their customers build orders.


Use this sheet to add or drop service types, like if all your goats die or if you add new fertilizers.

Farmers and their financial summaries to date


Learn a little spreadsheet formulas, and you can build in =SUMIF() formulas to automatically fill in those numbers from the other sheets,

Farm Services Rendered


What you did for each farmer, when you did it, and how much each part cost.
Sums from this sheet can appear on the farmer summary sheet.

Farmer Payments

Farmers can make multiple payments on different days.
Sums from this sheet can appear on the farmer summary sheet.

Assuming each spreadsheet belongs to one service provider company, this should be all you need.

If you want your app to work for multiple service providers, that would require a more complex design.