My Notes For The First App With AppSheet — A No-Code Platform

Hoang Dinh
3 min readOct 30, 2022

--

https://pixabay.com/photos/post-it-notepad-sticky-note-note-2414921/

My wife manages a small business, she has to enter around 100 data rows daily. The data includes customer information (name, contact, shipping address…), order, inventory, and related information.

I have already created a google sheet file for her and configured many formularies to make her task more manageable. But, it is still not convenient for her, a table with a ton of columns and reference data is a nightmare. So I decided to create a tiny CRM.

The first idea is to create a new single-page application by Angular(my favorite frontend framework) and use the sheet as a database. When I start to develop an http request handler by app script, I see something new in the Extensions menu — AppSheet. And I will note something that I think is important when working with AppSheet

AppSheet

You can take a look at the official document — Get started with AppSheet

Database & Tables

If this is the first time you touch a “Database”, Data: The Essential is a good thing to start.

I choose Google Sheets as the application database. Each sheet can be a candidate to become a table, then let’s try to keep it “clear”:

  • Set the spreadsheet name as the database name. Ex: CRM-Database, Laboratory… instead of “Untitled spreadsheet”
  • The sheet name is the table name, so you should keep the name clear and meaningful. Ex: You can set the name as “Customers, Orders…” instead of “Sheet1, Sheet2…”
  • Single table for a sheet. Table means a cell range with the first row as the table header

For a table:

  • Keep the table starting from the first cell (A1)
  • Columns with meaningful names
  • Always include ID column into your table
  • Try to avoid using the calculated column. Ex: Fullname column is redundant when you already have Fisrtname and Lastname
  • No need to set data format for the columns
  • The order of the columns is not so important
  • The reference column (Foreign Key) name can be the reference object. Ex: CustomerId column in Orders table, we can set Customer as column name instead of CustomerId
  • Don’t repeat: If you have a set of columns whose values will be repeated across many rows, you might want to take those columns and put them in their own table.Ref
  • Create separate tables for reporting

UI/UX

Not so much thing to note about this part. Just do it and I hope you can optimize it by yourself.

  • Use “Slice” for a large table to limit the number of records in view
  • Enable “Preview Program” when you want to try incoming features
To enable/disable these new features in a given application
  • Let’s try “Interactive dashboard” — Ref
  • Don’t create many menu items, just create a dashboard or view to link to another view (a table for views and use `LINKTOVIEW` action)
  • Use “Appsheet API” to control your app data by another application/system — Ref

Conclusion

Hope my note can help build a new Appsheet application easier. Maybe I will continue to update my note on this story.

Thank you for reading!

--

--

No responses yet