Content catalog for Kazna — downloadable packs of payees, banks, and categories with logos.
Served via GitHub Pages at https://catalog.kazna.app.
catalog.json ← root index, fetched by the app on marketplace open
schema/
catalog.schema.json ← JSON schema for catalog.json
pack.schema.json ← JSON schema for pack files
packs/
{pack-id}/
logos/ ← PNG logos, stable paths (not versioned)
{key}.png
v{n}/
pack.json ← versioned pack definition
The root index lists all available packs. The app fetches this once to populate the marketplace screen.
Key fields per pack entry:
| Field | Description |
|---|---|
id |
Unique slug, kebab-case |
type |
payees | banks | categories | mixed |
version |
Integer, bumped on any change to the pack |
name / description |
Localized strings (en required, ru optional) |
entity_count |
Total entities in the pack |
pack_url |
Path to the versioned pack.json (relative to base_url) |
preview_logos |
Up to 4 logo paths shown in the marketplace before installing |
pack.json lives at packs/{id}/v{n}/pack.json — the path includes the version so it is immutable once publishedpacks/{id}/logos/{key}.png — stable paths, not versioned (logo files are updated in-place)version in both catalog.json and the new v{n}/pack.jsonkey field, e.g. pyaterochka.pngpacks/{id}/logos/ and add PNG logospacks/{id}/v1/pack.json following the schema in schema/pack.schema.jsoncatalog.json pointing to the new packgenerated_at in catalog.jsonmain — GitHub Pages deploys automaticallypacks/{id}/logos/ (in-place, same filename)packs/{id}/v{n}/pack.json (new version folder, do not edit old ones)catalog.json: increment version and update pack_url to packs/{id}/v{n}/pack.jsonmain