These are the JSON files and images (minus icons and logos) for Talk Dim Sum on the App Store and the website on the Swift version
An archived Flutter version, open source but would have to be updated to read the latest version of this data.
Swift utilities, dim sum and language support are in the SwiftSys repo.
Training data for the dish image recognition is in DimSumML.
Some Gauche Scheme libraries used to check/copy/convert these files are in the Schematic repo.
Some scripts written in Gauche Scheme:
copy.scm copies the data to the Swift project.
hugo.scm copies the data to the website (built with Hugo and the Blowfish theme)
This repo serves as the Issues database for the app and website.
This repo serves as the download site (in Releases) for the last Flutter builds for Android and macOS.
Items are dishes in Talk Dim Sum but potentially usable for other types of...items.
Items have a photo, a word that identifies it (keyed by the Cantonese), a markdown description, a list of tags, and a list of web links to other info resources.
The markdown has special notation for wiktionary links so that a reader will replace characters surrounced by {} with a link to the wiktionary page.
Every Word has English and Cantonese names, and Mandarin (traditional characters) and Simplified (simplified characters of the Mandarin name) if they are different.
Yale romanization specifies the Cantonese pronunciation, and Pinyin specifies the Mandarin. Started add Jyutping, eventually should be able to derive the Yale from that.
As this database is focused on Cantonese dim sum (at least originally), the words are keyed by the Cantonese text. Mandarin is only specified if it differs from the Cantonese, and Simplified is the simplified characters version of the Mandarin (implicit or explicit), but again only specified if they are different.
The Chinese/Mandarin/Simplified fields are either strings or text/wkty pairs. If the Cantonese/Mandarin/Simplified is just a string and not a text/wkty pair, then it is assumed there should only be wiktionary links generated for the individual characters.
The images are landscape but not consistent in aspect. They are scaled down to a maximum 512 pixels width for historical reasons (old devices running with memory leaky Xamarin). They are all JPEG files suffixed .jpg (the Flutter code assumes this, the Swift code doesn't care). All the food photos were taken by me.
All the restaurant info and links are found manually on the Internet, and I add them if it looks like they're still operating and serve Cantonese-style dim sum, at the very least ha gow and siu mai (if you just scrape or pull everything tagged "dim sum" you'll get random Asian restaurants and PF Chang's, which does list dim sum on their menu but it's just spring rolls and potstickers).
I started out listing restaurants just in my city, then other states, then all over the world (excluding some for reasons such as genocidal practices and outlawing homosexuality), but that's just not feasible (especially in Asia), and I got tired of low ratings and reviews complaining I didn't include their city (especially in Europe), so it's back to just the US now.
For the restaurant links, the restaurant's own website is listed first if available, but no Facebook (because, Facebook), and other links are listed aphabetically by site name. I try to avoid any food ordering sites pretending to be the main restaurant site. Yelp is here because it's ubiquitous (at least in the US, not so much in Europe, and OpenRice is better in Asia) and typically has enough photos so I can tell if it's real dim sum, but I'm trying to cut down. Travelocity is omitted because it hangs my link checker.
Links are urlencoded, both in the resource lists and the markdown text.
I edit and format these files in Visual Studio Code, and run JSON and link checks with some scripts written in Gauche.
This is not a hard and fast rule, but I try to make the categories (categories.json) and new dishes (everything tagged with the first entry in categories.json) multiples of three, as the apps have three-column thumbnail views and it looks better to have an even bottom.
Everything is MIT-licensed except for the regional map images from Wikipedia, licensed from Wikimedia under TUBS, CC BY-SA 3.0.
- Beijing, via Wikimedia Commons
- Chaozhou, via Wikimedia Commons
- Guangdong, via Wikimedia Commons
- Guanxi, via Wikimedia Commons
- Hong Kong, via Wikimedia Commons
- Hainan, via Wikimedia Commons
- Hunan, via Wikimedia Commons
- Shaanxi, via Wikimedia Commons
- Shandong, via Wikimedia Commons
- Shanghai, via Wikimedia Commons
- Shanxi, via Wikimedia Commons
- Sichuan, via Wikimedia Commons
- Taiwan, via Wikimedia Commons
- Yunnan, via Wikimedia Commons
- Zhejiang, via Wikimedia Commons