My Notes For The First App With AppSheet — A No-Code Platform
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 haveFisrtname
andLastname
- 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 inOrders
table, we can setCustomer
as column name instead ofCustomerId
- 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
- 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!