Dec 7, 2020
This post is a continuation of a series of posts on designing my app Routerbase using concepts.
The concept of a tag is familiar. I'm going to use Jackson's analysis of the Gmail Label to define:
Gmail also has categories, a mistake that I will avoid, but I do want to have categories for my tags to make for easy organization and filtering (similar to the left sidebar on Amazon). So a Tag object will consist of its name and category.
Since tags are associated with nodes, I will make the data model with a regular arrow and a descriptive name for the relationship:
I want to be able to group my tags into categories, and those categories should have sub-categories. To handle that I introduce another superset as a generalization:
Here is what I came up with for the tagCategory concept:
That's it for the data model, for now! Next will be wireframes - simple sketches that provide an outline of the screens and dialogs in the app.