# ZXDB Explorer — Missing Features & Gaps Audit of the `/zxdb` pages against the ZXDB schema and existing data. Everything listed below is backed by tables already present in the Drizzle schema (`src/server/schema/zxdb.ts`) but not yet surfaced in the UI. --- ## Current Coverage | Section | List page | Detail page | Facets/Filters | |----------------|-----------|-------------|---------------------------------| | Entries | Search | Full detail | genre, language, machinetype | | Releases | Search | Downloads, scraps, files, magazine refs | — | | Labels | Search | Authored/published entries, permissions, licenses | — | | Magazines | Search | Issues list | — | | Issues | via magazine | Magazine refs (reviews/references) | — | | Genres | List | Entries by genre | — | | Languages | List | Entries by language | — | | Machine Types | List | Entries by type | — | --- ## Missing Top-Level Browse Pages ### 1. Countries - **Tables:** `countries`, `labels.country_id` - **Value:** Browse by country ("all software from Spain", "UK publishers"). ### 2. Tools - **Tables:** `tools`, `tooltypes` - **Value:** Utilities, emulators, and development tools catalogued in ZXDB. ### 3. Features - **Tables:** `features` - **Value:** Hardware/software features (Multiface, Kempston joystick, etc.). ### 4. Topics - **Tables:** `topics`, `topictypes` - **Value:** Editorial/thematic groupings used by magazines. ### 5. Tags / Collections - **Tables:** `tags`, `tagtypes`, `members` - **Value:** Tags are shown per-entry but there is no top-level "browse by tag" page (e.g. all CSSCGC entries, compilations). ### 6. Licenses - **Tables:** `licenses`, `licensetypes`, `relatedlicenses`, `licensors` - **Value:** Shown per-entry detail but no "browse all licenses" hub (e.g. all games based on a Marvel license). --- ## Missing Cross-Links & Facets on Existing Pages ### 7. Magazine reviews on Entry detail - Release detail shows magazine refs, but entry detail does **not** aggregate them. - A user viewing an entry cannot see "reviewed in Crash #42, p.34" without drilling into each release. ### 8. Year / date filter on Entries - ZXDB has `release_year` on releases. No year facet on the entries explorer. - Users cannot browse "all games from 1985". ### 9. Availability type filter on Entries - `availabletypes` API route exists but is not a facet on the entries explorer. - Would allow filtering by "Never released", "MIA", etc. ### 10. Max players filter on Entries - `entries.max_players` exists but is not filterable. - Would enable "all multiplayer games". ### 11. Label type filter on Labels page - `labeltypes` table exists and `roletypes` API is served. - Cannot filter the labels list by type (person / company / team / magazine). ### 12. Country filter on Labels page - Labels have `country_id` but no filter on the list page. ### 13. Country / language filter on Magazines page - Magazine list has search but no country or language filter chips. --- ## Missing Data on Detail Pages ### 14. Entry detail: magazine reviews section - `search_by_magrefs` is used in release detail but entry detail does not aggregate magazine references across all releases. - Same issue as #7 — the entry page should show a combined reviews/references panel. ### 15. Label detail: country display - Labels have `country_id` / `country2_id` but the detail page does not show them. ### 16. Label detail: Wikipedia / website links - `labels.link_wikipedia` and `labels.link_site` exist but are not displayed on the label detail page. ### 17. Entry detail: related entries via same license - Licenses are shown per-entry but there is no click-through to "other games with this license". --- ## Entirely Unsurfaced Datasets ### 18. NVGs - **Table:** `nvgs` - Historical download archive metadata. Not exposed anywhere. ### 19. SPEX entries / authors - **Tables:** `spex_entries`, `spex_authors` - No UI. ### 20. Awards - **Table:** `zxsr_awards`, referenced by `magrefs.award_id` - No awards browsing or display. ### 21. Review text - **Table:** `zxsr_reviews` (`intro_text`, `review_text`) - Magazine refs link to reviews by ID but the actual review text is never rendered. ### 22. Articles - **Tables:** `articles`, `articletypes` - No articles browsing. --- ## Navigation / UX Gaps ### 23. No discovery mechanism - No "random entry", "on this day", or "featured" section. Common for large historic databases. ### 24. No stats / dashboard - No summary counts ("ZXDB has X entries, Y labels, Z magazines"). Would anchor the landing page. --- ## Suggested Priority | Priority | Items | Rationale | |----------|-------|-----------| | High | 7/14 (magazine refs on entry detail), 8 (year filter), 15-16 (label country + links) | Data exists, just not wired up. High user value. | | Medium | 1 (countries), 5 (tags browse), 6 (licenses browse), 9 (availability filter), 24 (stats) | New pages but straightforward queries. | | Low | 2-4 (tools/features/topics), 10-13 (additional filters), 17-22 (unsurfaced datasets), 23 (discovery) | Useful but niche or requires more design work. |