TomLabs Apps
← All applications

Stromopedie

Illustrated encyclopedia of Central European trees with an identification key and care profiles

web dotnet blazor trees arboriculture encyclopedia Public Homepage
01-katalog.png 02-detail.png

Stromopedie

An illustrated encyclopedia of the trees of Czechia and Central Europe: photos of leaves, fruit, bark and whole trees, historical botanical plates, readable wiki-style prose and an identification key built from structured attributes.

Blazor Web App (interactive server) on .NET 10 with MudBlazor and a custom "forest" theme.

How content is assembled

Botanical judgement lives in the curated catalog, everything else is imported:

Source What we take Licence
Stromopedie/Data/species.json names, family, identification attributes, one-line tagline, genus on the ČCA taxon list ours
Stromopedie/Data/care.json care profile per species: site needs, tolerances, growth, pruning, hazards, wildlife value, heating value of the wood ours, editorial
Stromopedie/Data/pruning.json pruning windows per month, for the species where the timing decides the outcome; the rest is derived from the care profile ours, editorial
Stromopedie/Data/lookalikes.json pairs of easily confused species: the deciding look and differences organ by organ, shown on both species ours, editorial
Stromopedie/Models/Planting.cs planting windows by nursery stock type and the species that prefer spring or autumn ours, editorial
Stromopedie/Data/propagation.json seed collecting and sowing months, seed treatment (stratification), cuttings, layering and grafting per species; facts after A. Bärtels, Rozmnožování dřevin (SZN 1988), as summarised on dendro.mojzisek.cz, in our own wording ours, editorial
Stromopedie/Data/threats.json atlas of diseases, pests, wood-decay fungi, parasitic plants (mistletoe, dodder, toothwort) and physiological damage (sunscald, de-icing salt, drought), with Latin and English names: host genera, site on the tree (crown, trunk, base, root), frequency, breakage/uprooting risk, danger 1–4, fungus edibility, fruit-body life and rot type, months, signs, impact and what to do; written from common arboricultural and forest-protection knowledge, indicative ours, editorial
Stromopedie/Data/defects.json lexicon of wood defects: chapter, foreign names, recognition, cause, impact, prevention, grading on roundwood, typical genera, related defects and atlas entries; written in our own words after the Lexikon vad dřeva (FLD ČZU v Praze, 2010), whose text and photos are not openly licensed, so the text is ours and the photos (file names with our captions) are embedded from the lexicon's server, see ADR 0002 ours, editorial
Czech Wikipedia (Action API, prop=extracts) article prose split into sections, lead image; for an atlas entry with no Czech article, the lead of the English (or German) article translated by us and stored in threats.json CC BY-SA 4.0
Wikimedia Commons (per-organ categories such as Quercus robur (leaves)) photos of habit, leaves, flowers, fruit, bark, buds; botanical illustrations (Thomé plates first) per file, shown in the lightbox
iNaturalist (research-grade observations with CC licences) field photos, for species and atlas entries per photo

ContentImportService merges the sources for one species and caches the result as JSON in Stromopedie/App_Data/cache/<slug>.json (atlas entries as atlas-<slug>.json). CacheWarmupService fills the cache for the whole catalog in the background after startup; a species that is not cached yet is imported on first view. The cache is committed so a fresh clone starts with content; the refresh button on a species page re-imports it. The refresh button and the image curator mode are shown only to the administrator, signed in at /admin/login (Admin:Password; see ADR 0001).

Wikimedia rate limits

Wikimedia allows only 10 requests per minute to clients that do not identify themselves, and 200 per minute to those that put a contact (URL or e-mail) into the User-Agent. Set the contact once:

dotnet user-secrets set "Sources:Contact" "you@example.org" --project Stromopedie

(or the Sources__Contact environment variable in production). Without it the importer still works, but paces itself to the slow tier and the initial warm-up takes about half an hour.

Wikimedia also renders thumbnails only in fixed widths (120, 500, 960, 1280, 1920 px); the importer requests 1280 px for the lightbox and derives 500 px for grids.

Catalog scope

The catalog (77 species) covers every tree genus on the official taxon list for the ČCA – Pozemní pracovník (Czech Certified Arborist – Ground Worker) certification, version 2022-10-11 — 23 broadleaf and 10 coniferous genera, including the species the list names explicitly (Acer, Tilia, Populus, Prunus, Picea, Pinus) — plus common native and park trees beyond it. ExamGenus on a species records the genus it answers to on that list; the "Seznam dřevin ČCA" facet filters on it. The 33 shrub and 3 climber genera of the list are not covered yet.

Running

dotnet run --project Stromopedie
  • / — catalog with text search and the identification key (multi-select facets); the search also lists matching atlas entries and wood defects, and /?q= hands a search over in the address
  • /strom/{slug} — species page: gallery by organ, attributes, wiki prose with a table of contents
  • /rez — pruning calendar: a month grid per species, grouped into fruit trees, hedges, broadleaves and conifers, with what is due this month on top
  • /sitemap.xml, /robots.txt — every species, atlas entry and defect for search engines; each page carries a description, a canonical link and a sharing preview (PageMeta)
  • /health — { "status", "version", "name", "entries" }, unauthenticated

Adding a species

Append an entry to Stromopedie/Data/species.json. WikiTitle and CommonsCategory default to the Czech and Latin name and only need setting when the article or category is named differently. The next start imports it.

Versioning

<Version> in Stromopedie/Stromopedie.csproj is the single source of truth; it is shown in the footer and on /health. Bump it with every release.

Changelog

Newest version first. What changed for the user, not a commit log.

0.13.1 — 2026-10-18

Fixed

  • The new atlas entries reviewed by an arborist: dodder is now "kokotice chmelová" (the old address redirects), no invasive trees (black locust, red oak) among the salt-tolerant ones to plant, dead branches over paths removed right away after drought, no cutting into live bark or wound paint after sunscald, and more precise hosts, synonyms and descriptions.

0.13.0 — 2026-10-18

Added

  • English names next to the Latin ones on species and atlas pages, in the atlas cards; search finds them too ("oak").
  • New atlas group "Fyziologická poškození" (physiological damage): sunscald of the bark, de-icing salt damage along roads and drought damage, with signs, impact and what to do.
  • More parasitic plants in the atlas: dodder (kokotice chmelová) and common toothwort (podbílek šupinatý).

0.12.1 — 2026-10-18

Fixed

  • Atlas entries start with a capital letter in the browser tab, in search results and in shared-link previews.

0.12.0 — 2026-10-17

Added

  • One search for the whole site: the search in the top bar suggests species, atlas entries and wood defects together, and the search on the home page lists matching atlas entries and defects above the trees. It understands other word forms too ("trhlina" finds "trhliny", "mrazová trhlina" the frost crack).
  • Easier to find from search engines: every page has its own description, a sitemap lists all species, atlas entries and defects, and a shared link shows a preview with a photo.

Changed

  • The "page not found" page is in Czech.

0.11.0 — 2026-10-14

Added

  • Parasitic plants in the atlas: jmelí bílé (all three subspecies – on broadleaves, fir and pine) and ochmet evropský on oaks, with how to recognise them, what they do to the tree and how to remove them. They show on the cards of their host trees and link to the wood defect they leave.

0.10.1 — 2026-10-14

Changed

  • Back from a detail page returns to the same place in the list, with the same search and filters (species, atlas, wood defects).
  • The rot type of a wood-decay fungus in the atlas links to rot in the wood defects.

0.10.0 — 2026-10-14

Added

  • Vady dřeva (/vady): 36 wood defects – knots, cracks, stem shape, structure, fungi and other damage – in our own words after the ČZU Lexikon vad dřeva, each with how to recognise it, its cause, impact, prevention and grading, English/German/Slovak names, and links to related defects, atlas entries and species. Filter for defects visible on a standing tree.
  • 282 photographs from the lexicon with our captions, enlarged on click; shown from the lexicon's own site and credited to FLD ČZU.
  • Atlas entries list the wood defects they come with.

0.9.0 — 2026-10-14

Added

  • Administrator sign-in at /admin/login: image curation and the "download again" buttons are now available on the live site, but only to the signed-in administrator.

Changed

  • Image curation done on the site is kept across deploys.

0.8.0 — 2026-10-13

Added

  • Order switch A–Z / nebezpečnost in the atlas and on the diseases-and-pests card of a species; the choice is shared by both and remembered in the browser.

0.7.3 — 2026-10-13

Changed

  • The atlas and the diseases-and-pests card on a species page list entries alphabetically.

0.7.2 — 2026-10-13

Changed

  • The lookalike, propagation and diseases-and-pests cards are at the very end of a species page, after the whole Wikipedia article (Zajímavosti included).

0.7.1 — 2026-10-13

Added

  • 22 more wood-decay fungi in the atlas (troudnatec jasanový, trsnatec lupenitý, březovník obecný, kotrč kadeřavý, káčovka penízková, šupinovka zhoubná, kornatec okrouhlý and others) and sazná nemoc kůry of maples.
  • An atlas entry shows the other names it is known by (spálenka skořepatá is also dřevomor kořenový).

Changed

  • Ohňovec švestkový is now listed as ohňovec ovocný and dřevomor kořenový as spálenka skořepatá.

Fixed

  • The edibility icons: a fork and knife for edible fungi, crossed out for inedible, a skull for poisonous.

0.7.0 — 2026-10-13

Added

  • Atlas chorob, škůdců a dřevokazných hub (/atlas): 50 entries – 24 wood-decay fungi, 11 pests, 15 diseases – filterable by group and by broadleaves or conifers. Each entry shows with icons whom it attacks, where on the tree (crown, trunk, base, roots), how common it is, whether it brings a risk of breakage or uprooting and how dangerous it is (1–4); for fungi also edibility, annual or perennial fruit bodies and the type of rot; and the months when fruit bodies, the pest or the symptoms show. Then how to recognise it, what it does to the tree and what to do, field photos from iNaturalist and the Wikipedia article. Where the Czech Wikipedia has no article, the English (or German) lead is translated into Czech and credited.
  • Choroby, škůdci a houby card on a species page: what attacks the species, most dangerous first, each with the same icons and a link to the atlas.

0.6.1 — 2026-10-13

Changed

  • On a species page the Podobné dřeviny and Množení cards now follow the description (the Wikipedia "Popis" section) instead of standing in front of it; the contents list follows the same order.

0.6.0 — 2026-10-11

Added

  • Množení on a species page: how the tree is best propagated, with a month strip for collecting seed, sowing and cuttings, how to treat the seed (sow fresh, keep moist, stratify for how long), how long stored seed keeps and when it comes up, and what to graft cultivars on.
  • Množení dřevin (/mnozeni): the methods explained in plain words (stratification, softwood and hardwood cuttings, layering, grafting) and a month table for 82 species, broadleaves and conifers. Indicative data after A. Bärtels, Rozmnožování dřevin (1988), via dendro.mojzisek.cz.

Changed

  • The home page links to the propagation page; on a computer it also has its own icon in the app bar.

0.5.0 — 2026-10-11

Added

  • Podobné dřeviny on a species page: the trees people mistake it for, each with the one look that settles it and a side-by-side comparison organ by organ (leaves, fruit, bark, buds, habit) — oak against sessile oak and Turkey oak, lime against lime, spruce against fir.
  • Kdy sázet (/vysadba): when to plant by how the tree comes from the nursery — bare-root, container, balled conifer, large nursery tree — month by month, plus the species that do better in spring (apricot, peach, walnut, black locust, plane) or in autumn (apple, pear, plum, oaks, lime, hornbeam), and the two rules that matter most: unfrozen ground and watering for two years.
  • Species with a preferred planting season carry a výsadba: jaro / podzim tag next to the name.

Changed

  • The home page and the pruning calendar link to the planting page; on a computer it also has its own icon in the app bar.

0.4.1 — 2026-10-08

Changed

0.4.0 — 2026-10-07

Added

  • Kalendář řezu (/rez): a month-by-month grid saying when each tree is pruned, when only light work is in order and when not to touch it at all — fruit trees first, then hedges, broadleaves and conifers. The top of the page says what is due in the current month and what must not be cut now, and every row carries the one sentence that explains the timing (stone fruit after harvest, pome fruit in late winter, maples and birches after they leaf out, elms only in winter because of beetles).
  • Six fruit trees the catalogue was missing: apple, pear, sour cherry, apricot, peach and quince, each with the full care profile.

0.3.0 — 2026-10-07

Added

  • Built for a phone. The catalogue turns into a list of wide cards — a thumbnail with the name next to it — so a dozen trees fit on a screen instead of one. The identification key opens as a full screen with finger-sized chips and closes with a button that says how many trees are waiting behind it, and the app bar keeps a search icon that opens the catalogue with the cursor already in the search field.
  • A close button in the photo viewer, which previously could only be left with the Esc key.

Changed

  • Photographs load several times faster. Every picture is now offered in all the widths its source can serve, so a phone downloads a 250 px thumbnail where it used to download the full-size original — a single card image could be 4.7 MB. Browsers also connect to the photo hosts while the page is still loading, and the first four cards are loaded with priority.
  • More gallery tabs fit on a phone (four at once instead of one and a half).

Fixed

  • Species pages no longer scroll sideways on a phone: the photo grid used to stretch the page and push the text off the screen.

0.2.2 — 2026-09-30

Added

  • Other projects in the footer: links to TreeMap (tree mapping and assessment), Arboristé (a catalogue of arborists) and Bouda kácí (tree felling and care, by the author).

0.2.1 — 2026-09-24

Added

  • Dark theme — "the forest at night": a deep green-black ground with warm off-white text and the greens and ambers lifted to stay readable. Botanical plates keep their paper.
  • Theme switch in the app bar with three choices: Podle systému (the default, follows the operating system and switches live), Světlý and Tmavý. A pinned choice is remembered in the browser and applied before the page is painted.

0.2.0 — 2026-09-15

Added

  • Heating value of the wood in every care profile: kWh per stere with a note on how the species burns (sparks, smoke, kindling, "too valuable to burn"), plus a Good firewood filter.
  • 41 new species (77 in total) — every tree genus on the official ČCA "Pozemní pracovník" taxon list (v2022-10-11) is now covered, including the species the list names for Acer, Tilia, Populus, Prunus, Picea and Pinus, plus common park trees such as Metasequoia, Sequoiadendron, Liriodendron and Liquidambar.
  • ČCA list link: a species page shows the genus it answers to on the certification list and whether the list wants the species told apart; the identification key filters on it.

Changed

  • Whole-tree photos are also drawn from seasonal Wikimedia Commons subcategories, which fills the Strom tab for species whose root category is thin.

Fixed

  • Two Sorbus species use the renamed Commons categories (Aria, Scandosorbus) and now have galleries.
  • The VPS cache volume is seeded from the image on deploy instead of re-importing from Wikimedia.

0.1.1 — 2026-09-15

Fixed

  • The published site did not ship blazor.web.js, so nothing was interactive (search, filters, lightbox); the Docker build now restores with the full source so the file is included, and the pipeline smoke test fails when any script the page references is missing.
  • Server GC could not start on the VPS host; the container runs with workstation GC.

Added

  • Application icon (icon.png, favicon.ico).

0.1.0 — 2026-09-14

First public build.

  • Catalog of 36 trees of Czechia and Central Europe with curated identification attributes.
  • Text search with diacritics folding and an identification key with multi-select facets (leaf shape and arrangement, margin, fruit, foliage, origin) plus practical filters (drought / urban / shade tolerant, fast growing, small garden, low allergen, non-toxic, bees).
  • Per-organ photo galleries (habit, leaves, flowers, fruit, bark, buds), historical botanical plates and field photos, imported from Wikipedia, Wikimedia Commons and iNaturalist with attribution.
  • Wiki-style prose with a table of contents, imported from Czech Wikipedia.
  • Care profile per species: site needs, tolerances, growth and longevity, root system, pruning, wound response, sturdiness, toxicity, pollen, invasiveness, value for bees and birds, pests.
  • Curator mode for pinning, hiding, moving and adding images (off on the public host).
  • /health endpoint and version in the footer.