Skip to content
This repository has been archived by the owner on Jul 10, 2024. It is now read-only.
/ talkdimsum Public archive

Non-iOS builds for the Talk Dim Sum app, new dev on codeberg.

License

Notifications You must be signed in to change notification settings

technicat/talkdimsum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Other repos

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.

Scripts

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)

Issues

This repo serves as the Issues database for the app and website.

Downloads

This repo serves as the download site (in Releases) for the last Flutter builds for Android and macOS.

Items

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.

Words

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.

Images

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.

Restaurants

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.

URLs

Links are urlencoded, both in the resource lists and the markdown text.

Formatting

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.

License

Everything is MIT-licensed except for the regional map images from Wikipedia, licensed from Wikimedia under TUBS, CC BY-SA 3.0.