पद्धति
How the database is built, what has to be true before a page is published, and what happens when the sources disagree.
1. Everything is an entity
Each page is one record in Postgres with a shared spine — name, Vietnamese name, alternate names, a plain-English introduction, sources, a verification date and publication status — plus a specialisation for its type. Places carry geography, climate, population, travel style and safety notes. Relationships between records live in their own table: a dish to the place it comes from, a route to the cities it serves, a destination to the unit that administers it. Nothing that could be a relationship is written into page text.
2. Administrative geography is temporal
An administrative unit is a record with an effective start and end. A reorganisation is an event carrying the legal instrument that made it, with predecessor and successor members on each side. That is why the site can show you the map as it stands and as it stood, and why the 2025 reorganisation required no special-casing: it is 23 merger records and one tier abolition.
The corollary is that no count of provinces appears anywhere in the code. Every such figure on the site is a query against those records.
3. Identity is curated; measurements are imported
What a unit is — what it absorbed, which region it belongs to, whether it is a destination — is editorial and set by hand. What it measures — coordinates, area, population, elevation, climate — is imported, with the observation date attached:
- Wikidata for coordinates, areas and population statements with their dates, across every provincial and district-level unit.
- OpenStreetMap for administrative boundaries, matched by ISO 3166-2 code, and for the points of interest that seed sight pages.
- ERA5 reanalysis via Open-Meteo for monthly temperature and rainfall normals, so every place is measured the same way rather than stitched together from separate sources.
- Vietnam's General Statistics Office, read through the World Bank's republication, for national statistics — with GSO named as producer on each figure.
4. Importers raise disagreements, they do not resolve them
A population observed before 1 July 2025 cannot describe a unit that was enlarged on that date, so it is flagged and labelled rather than presented as current. Where sources give different administrative centres for a merged province, the page says the question is unsettled instead of picking one. Flags must be cleared by a person before a page can publish.
5. The publish gate
A page cannot be published until it has a plain-English introduction, at least three written sections, two sourced citations with working links, three links to related entities, and a verification date. The publish action refuses anything incomplete and names what is missing. Prices are never estimated: a page without a verified, dated price stays in draft.
6. Figures
Every number carries its observation date and its producer. Prices are in Vietnamese dong with the date they were seen, except where a fee is set in dollars by the fee schedule, in which case it is shown in dollars rather than converted. Climate normals carry their reference period. A series the producer has not updated for years is labelled as such rather than shown as current. Where a value is missing, the page says why.